[HLS]: Streaming error while switching pads

Sebastian Dröge sebastian at centricular.com
Thu Sep 24 03:21:22 PDT 2015


On Mi, 2015-09-23 at 02:45 -0700, rajat_verma wrote:
> HLS demux switches pads, whenever bitrate is changed.
> Now in clean up of older stream in gstadaptivedemux.c, below code is
> there:
> 
> line 785:      gst_pad_push_event (stream->pad, gst_event_ref (eos));
> line 786:      gst_pad_set_active (stream->pad, FALSE);
> line 787:      gst_element_remove_pad (GST_ELEMENT (demux), stream
> ->pad);
> 
> As a result of this code, an EOS is pushed to peer pad, but apart 
> from that attached peer pad (read TS demux sink pad) get's no 
> information that it should also clean up.
> 
> In case of tsdemux using underlying h/w device, I can't find when I 
> should free the underlying device, so that next instance (tsdemux1) 
> can get access to them, when hlsdemux exposes a new pad.

You can assume that no more data comes after EOS, so could clean up
your hardware when you receive EOS. Make sure to reinitialize if your
elements gets set to READY/NULL and then PAUSED again after EOS, or if
FLUSH_STOP happens after EOS.

-- 
Sebastian Dröge, Centricular Ltd · http://www.centricular.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150924/b9645210/attachment.sig>


More information about the gstreamer-devel mailing list