mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-22 22:16:22 +00:00
Revert "hlsdemux: Simplify logic in process_manifest"
This reverts commit 4ca3a22b6b
.
The connection-speed=0 is used as a special value in the property
of hlsdemux to mean 'automatic' selection, m3u8.c doesn't need
to know about that as it should be as simple as possible.
So this patch hides this automatic selection documented in hlsdemux
into m3u8 logic and I think the gets harder to understand the code.
It also makes the hlsdemux unit tests work again
https://bugzilla.gnome.org/show_bug.cgi?id=749328
This commit is contained in:
parent
9bcddde9bc
commit
581d8c0b8d
2 changed files with 11 additions and 10 deletions
|
@ -436,12 +436,18 @@ gst_hls_demux_process_manifest (GstAdaptiveDemux * demux, GstBuffer * buf)
|
|||
if (gst_m3u8_client_has_variant_playlist (hlsdemux->client)) {
|
||||
GstM3U8 *child = NULL;
|
||||
GError *err = NULL;
|
||||
GList *current_variant = NULL;
|
||||
|
||||
current_variant =
|
||||
gst_m3u8_client_get_playlist_for_bitrate (hlsdemux->client,
|
||||
demux->connection_speed);
|
||||
child = GST_M3U8 (current_variant->data);
|
||||
/* TODO seems like something that could be simplified */
|
||||
if (demux->connection_speed == 0) {
|
||||
GST_M3U8_CLIENT_LOCK (hlsdemux->client);
|
||||
child = hlsdemux->client->main->current_variant->data;
|
||||
GST_M3U8_CLIENT_UNLOCK (hlsdemux->client);
|
||||
} else {
|
||||
GList *tmp = gst_m3u8_client_get_playlist_for_bitrate (hlsdemux->client,
|
||||
demux->connection_speed);
|
||||
|
||||
child = GST_M3U8 (tmp->data);
|
||||
}
|
||||
|
||||
gst_m3u8_client_set_current (hlsdemux->client, child);
|
||||
if (!gst_hls_demux_update_playlist (hlsdemux, FALSE, &err)) {
|
||||
|
|
|
@ -1293,11 +1293,6 @@ gst_m3u8_client_get_playlist_for_bitrate (GstM3U8Client * client, guint bitrate)
|
|||
GST_M3U8_CLIENT_LOCK (client);
|
||||
current_variant = client->main->current_variant;
|
||||
|
||||
if (bitrate == 0) {
|
||||
GST_M3U8_CLIENT_UNLOCK (client);
|
||||
return current_variant;
|
||||
}
|
||||
|
||||
/* Go to the highest possible bandwidth allowed */
|
||||
while (GST_M3U8 (current_variant->data)->bandwidth <= bitrate) {
|
||||
list = g_list_next (current_variant);
|
||||
|
|
Loading…
Reference in a new issue