HLS Playback Issues after bandwidth switch

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

HLS Playback Issues after bandwidth switch


     I am currently working on HLS streaming.
Now the thing is I am streaming a http (m3u8) link, which internally has
multiple m3u8 links - each supporting streaming playlists for different

Example (Just for understanding):
Master m3u8: http://myplaylist.m3u8

http://myplaylist.m3u8 - This contains:
Here first supports say 1Mbps bitrate,
second supports say 2Mbps bitrate,
third supports say 4Mbps bitrate and
fourth supports say 8Mbps bitrate.
Each of the above 4 links contain 15 playlist each from playlist0.ts to

Now in the beginning it plays from http://first.m3u8 links playlist0.ts as I
have set connection-speed of hlsdemux to be 0 (UNKNOWN).
hence when fetching next fragment it checks the available bitrate and
switches to say http://third.m3u8 playlist's playlist1.ts.
When it switches, I am removing all the elements after hlsdemux
(multiqueue0, tsdemux, audio-video multiqueue, input-selectors and
decodebin) apart from the audio-video sinks.

Then when I receive a new pad-added for hls after it switches, I re-create
the elements and I see that my pipeline has gone to play state.

The issue is it plays the playlist0.ts file properly, But whenever there is
a switch in playlist due to change in the bandwidth, I always get 20 second
delay and then my playback starts from 11th second (both audio-video).

After few analysis I found out that when it switches, my pipeline creation
and going to playing state is completed and audio-video multiqueues have
buffered from 11-25 seconds of data (15seconds is the max-size-time set on
the MultiQueue's).
After this I get the data to the next element (that is the decoders) after
20 seconds and playbacks starts.

Can someone suggest what to look into as the playback starts with 1-2 second
delay (which is OK), but whenever bandwidth switches, I always have the "20
second delay" and amazingly audio-video sinks play them without any drops
after 20 seconds.

Sorry if the issue was too elaborative.

Thank You in Advance

Sent from: http://gstreamer-devel.966125.n4.nabble.com/
gstreamer-devel mailing list
[hidden email]