[0.10] gst-plugins-bad: mpegtsdemux: fix frequent deadlock demuxing MPEG TS

Tim Müller tpm at kemper.freedesktop.org
Mon Jan 30 04:41:47 PST 2012

Module: gst-plugins-bad
Branch: 0.10
Commit: c38520d66d845f4edd28a6e8ed3b74aa7b0220bf
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=c38520d66d845f4edd28a6e8ed3b74aa7b0220bf

Author: Vincent Penquerc'h <vincent.penquerch at collabora.co.uk>
Date:   Mon Jan 23 17:47:45 2012 +0000

mpegtsdemux: fix frequent deadlock demuxing MPEG TS

A previous patch to add streams early to fix playback of
low bitrate streams causes frequent deadlock of a nature
I'm at loss how to fix.
I'm not certain whether it's a bug in decodebin2, or in
that mpegtsdemux patch.
Since it causes a major regression, let it be disabled for now.


 gst/mpegdemux/gstmpegtsdemux.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/gst/mpegdemux/gstmpegtsdemux.c b/gst/mpegdemux/gstmpegtsdemux.c
index 7d75bbe..2c6db7d 100644
--- a/gst/mpegdemux/gstmpegtsdemux.c
+++ b/gst/mpegdemux/gstmpegtsdemux.c
@@ -1110,6 +1110,10 @@ gst_mpegts_demux_add_all_streams (GstMpegTSDemux * demux, GstClockTime pts)
   GstPad *srcpad;
   gboolean all_added = TRUE;
+  GST_DEBUG_OBJECT (demux, "Adding streams early fixes a wedge in some low "
+      "bitrate streams, but causes deadlocks - disabled for now");
+  return FALSE;
   /* When adding a stream, require either a valid base PCR, or a valid PTS */
   if (!gst_mpegts_demux_setup_base_pts (demux, pts)) {
     GST_ERROR ("Can't set base pts");

More information about the gstreamer-commits mailing list