[prev in list] [next in list] [prev in thread] [next in thread]
List: gstreamer-cvs
Subject: gst-plugins-bad: hlsdemux: flush the adapter in the end of a fragment
From: thiagoss () kemper ! freedesktop ! org (Thiago Sousa Santos)
Date: 2014-04-29 22:01:38
Message-ID: 20140429220138.EFF41761E5 () kemper ! freedesktop ! org
[Download RAW message or body]
Module: gst-plugins-bad
Branch: master
Commit: bb8887baa79cfb74eec435ba2ef0bdc07a847947
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=bb8887baa79cfb74eec435ba2ef0bdc07a847947
Author: Thiago Santos <ts.santos@sisa.samsung.com>
Date: Tue Apr 29 18:14:29 2014 -0300
hlsdemux: flush the adapter in the end of a fragment
In case of error there might be some data left in the
adapter when EOS is received. Clear the adapter to be
able to restart again later if requested.
---
ext/hls/gsthlsdemux.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/ext/hls/gsthlsdemux.c b/ext/hls/gsthlsdemux.c
index 5a98b5e..b7ef8ac 100644
--- a/ext/hls/gsthlsdemux.c
+++ b/ext/hls/gsthlsdemux.c
@@ -943,7 +943,12 @@ _src_event (GstPad * pad, GstObject * parent, GstEvent * event)
case GST_EVENT_EOS:
if (demux->current_key)
gst_hls_demux_decrypt_end (demux);
- /* TODO adapter should be empty */
+
+ /* ideally this should be empty, but this eos might have been
+ * caused by an error on the source element */
+ GST_DEBUG_OBJECT (demux, "Data still on the adapter when EOS was received"
+ ": %" G_GSIZE_FORMAT, gst_adapter_available (demux->adapter));
+ gst_adapter_clear (demux->adapter);
/* pending buffer is only used for encrypted streams */
if (demux->pending_buffer) {
_______________________________________________
gstreamer-commits mailing list
gstreamer-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-commits
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic