[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