mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 23:36:38 +00:00
hlsdemux: lock client mutex before entering the retry_failover block
This is consistent with the case where the block execution is triggered by the goto invoked after the current_variant update. https://bugzilla.gnome.org/show_bug.cgi?id=736919
This commit is contained in:
parent
e289ab07c1
commit
6d67b5263f
1 changed files with 3 additions and 0 deletions
|
@ -1746,12 +1746,15 @@ gst_hls_demux_change_playlist (GstHLSDemux * demux, guint max_bitrate)
|
||||||
current_variant = gst_m3u8_client_get_playlist_for_bitrate (demux->client,
|
current_variant = gst_m3u8_client_get_playlist_for_bitrate (demux->client,
|
||||||
max_bitrate);
|
max_bitrate);
|
||||||
|
|
||||||
|
GST_M3U8_CLIENT_LOCK (demux->client);
|
||||||
|
|
||||||
retry_failover_protection:
|
retry_failover_protection:
|
||||||
old_bandwidth = GST_M3U8 (previous_variant->data)->bandwidth;
|
old_bandwidth = GST_M3U8 (previous_variant->data)->bandwidth;
|
||||||
new_bandwidth = GST_M3U8 (current_variant->data)->bandwidth;
|
new_bandwidth = GST_M3U8 (current_variant->data)->bandwidth;
|
||||||
|
|
||||||
/* Don't do anything else if the playlist is the same */
|
/* Don't do anything else if the playlist is the same */
|
||||||
if (new_bandwidth == old_bandwidth) {
|
if (new_bandwidth == old_bandwidth) {
|
||||||
|
GST_M3U8_CLIENT_UNLOCK (demux->client);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue