summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZaheer Abbas Merali <zaheerabbas@merali.org>2008-10-06 08:32:41 +0000
committerZaheer Abbas Merali <zaheerabbas@merali.org>2008-10-06 08:32:41 +0000
commit478417da1af5b168594167bc2ab4ab71b60085e9 (patch)
treed7222b4f2b8d4e6e97c7ef696705ab0c3d4adb44
parentdb433443c99cbd851fbb27ae5dee7fbd533f767e (diff)
downloadgst-plugins-bad-478417da1af5b168594167bc2ab4ab71b60085e9.tar.gz
gst-plugins-bad-478417da1af5b168594167bc2ab4ab71b60085e9.tar.bz2
gst-plugins-bad-478417da1af5b168594167bc2ab4ab71b60085e9.zip
gst/mpegdemux/gstmpegtsdemux.c: Fix wrong firing of critical introduced by previous optimisation.
Original commit message from CVS: Patch by: Josep Torra * gst/mpegdemux/gstmpegtsdemux.c: Fix wrong firing of critical introduced by previous optimisation.
-rw-r--r--ChangeLog7
-rw-r--r--gst/mpegdemux/gstmpegtsdemux.c12
2 files changed, 13 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 73f046cf..14968339 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
+
+ Patch by: Josep Torra
+
+ * gst/mpegdemux/gstmpegtsdemux.c:
+ Fix wrong firing of critical introduced by previous optimisation.
+
2008-10-03 Wim Taymans <wim.taymans@collabora.co.uk>
* ext/faac/gstfaac.c: (gst_faac_configure_source_pad):
diff --git a/gst/mpegdemux/gstmpegtsdemux.c b/gst/mpegdemux/gstmpegtsdemux.c
index a420d646..c0fabd31 100644
--- a/gst/mpegdemux/gstmpegtsdemux.c
+++ b/gst/mpegdemux/gstmpegtsdemux.c
@@ -1954,13 +1954,13 @@ gst_fluts_demux_is_PMT (GstFluTSDemux * demux, guint16 PID)
static FORCE_INLINE GstFlowReturn
gst_fluts_stream_pes_buffer_flush (GstFluTSStream * stream)
{
- GstFlowReturn ret;
-
- g_return_val_if_fail (stream->pes_buffer, GST_FLOW_OK);
+ GstFlowReturn ret = GST_FLOW_OK;
- GST_BUFFER_SIZE (stream->pes_buffer) = stream->pes_buffer_used;
- ret = gst_pes_filter_push (&stream->filter, stream->pes_buffer);
- stream->pes_buffer = NULL;
+ if (stream->pes_buffer) {
+ GST_BUFFER_SIZE (stream->pes_buffer) = stream->pes_buffer_used;
+ ret = gst_pes_filter_push (&stream->filter, stream->pes_buffer);
+ stream->pes_buffer = NULL;
+ }
return ret;
}