xine-lib/xine-lib-1.1.17-avsync_hack.patch
2009-12-03 15:38:44 +00:00

23 lines
998 B
Diff

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);