summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;
}