Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > 117b076dad7ff754880a3024723165bd > files > 2

xine-lib-1.1.21-5.fc18.src.rpm

diff -up xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack xine-lib-1.1.17/src/xine-engine/audio_out.c
--- xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack	2009-11-30 19:33:30.000000000 -0600
+++ xine-lib-1.1.17/src/xine-engine/audio_out.c	2009-12-02 09:07:37.622805780 -0600
@@ -1156,8 +1156,17 @@ static void *ao_loop (void *this_gen) {
 
     /*
      * calculate gap:
+     *
+     * HACK (rwa): If we have no video stream we do not need an AV sync and so
+     *             we assume a gap of 0. This seems to avoid the skips in the
+     *             first seconds when playing audio-only via the "glitch-free"
+     *             pulseaudio server.
      */
-    gap = in_buf->vpts - hw_vpts;
+    if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) {
+       gap = in_buf->vpts - hw_vpts;
+    } else {
+       gap = 0;
+    }
     lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n",
              hw_vpts, in_buf->vpts, gap);