mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 23:36:38 +00:00
hlsdemux: Always give timestamps if we're discont and don't mark stream discont if a playlist change was not successful
If the stream is discont, we must provide a timestamp in any case. Elements like tsdemux are not going to output anything if we give a NONE timestamp after a discont. Also marking a stream as discont if a playlist change was not successful would lead to the above situation, but in that case we are not required at all to mark the stream discont as we're still at the old playlist.
This commit is contained in:
parent
b79cfc68cb
commit
fac4ed18d4
1 changed files with 4 additions and 1 deletions
|
@ -667,6 +667,9 @@ gst_hls_demux_update_fragment_info (GstAdaptiveDemuxStream * stream)
|
|||
return GST_FLOW_EOS;
|
||||
}
|
||||
|
||||
if (stream->discont)
|
||||
discont = TRUE;
|
||||
|
||||
/* set up our source for download */
|
||||
if (hlsdemux->reset_pts || discont) {
|
||||
stream->fragment.timestamp = timestamp;
|
||||
|
@ -996,7 +999,6 @@ retry_failover_protection:
|
|||
|
||||
GST_INFO_OBJECT (demux, "Client was on %dbps, max allowed is %dbps, switching"
|
||||
" to bitrate %dbps", old_bandwidth, max_bitrate, new_bandwidth);
|
||||
stream->discont = TRUE;
|
||||
|
||||
if (gst_hls_demux_update_playlist (demux, FALSE, NULL)) {
|
||||
gchar *uri;
|
||||
|
@ -1013,6 +1015,7 @@ retry_failover_protection:
|
|||
g_free (main_uri);
|
||||
if (changed)
|
||||
*changed = TRUE;
|
||||
stream->discont = TRUE;
|
||||
} else {
|
||||
GList *failover = NULL;
|
||||
|
||||
|
|
Loading…
Reference in a new issue