xine-lib/xine-lib-1.1.18-glitch-free-pulseaudio.patch

23 lines
932 B
Diff

diff -ur xine-lib-1.1.18.orig/src/xine-engine/audio_out.c xine-lib-1.1.18/src/xine-engine/audio_out.c
--- xine-lib-1.1.18.orig/src/xine-engine/audio_out.c 2010-02-23 22:59:05.000000000 +0100
+++ xine-lib-1.1.18/src/xine-engine/audio_out.c 2010-02-24 20:52:10.870884193 +0100
@@ -1156,8 +1156,17 @@
/*
* 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);