diff options
author | Tim-Philipp Müller <tim@centricular.com> | 2015-12-19 21:10:56 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2015-12-19 21:12:17 +0000 |
commit | d5e115171b6fecd86ae4f9bb03e8f4becccd4bc9 (patch) | |
tree | 9fd602ca4a01b6c22cd567def05d7f6f78e37bea | |
parent | 8be5551dff8037a3b576c954a7660b56e3da430f (diff) | |
download | gstreamer-plugins-bad-d5e115171b6fecd86ae4f9bb03e8f4becccd4bc9.tar.gz |
hlsdemux: reflow update_playlist a bit
Reduce indentation by erroring out directly on failure.
-rw-r--r-- | ext/hls/gsthlsdemux.c | 100 |
1 files changed, 50 insertions, 50 deletions
diff --git a/ext/hls/gsthlsdemux.c b/ext/hls/gsthlsdemux.c index 7c8659eaf..8611e7605 100644 --- a/ext/hls/gsthlsdemux.c +++ b/ext/hls/gsthlsdemux.c @@ -827,60 +827,60 @@ retry: TRUE, TRUE, TRUE, err); g_free (main_uri); if (download == NULL) { + gchar *base_uri; + g_clear_error (err); - if (update && !main_checked - && gst_m3u8_client_has_variant_playlist (demux->client)) { - main_uri = gst_m3u8_client_get_uri (demux->client); - GST_INFO_OBJECT (demux, - "Updating playlist %s failed, attempt to refresh variant playlist %s", - uri, main_uri); - download = - gst_uri_downloader_fetch_uri (adaptive_demux->downloader, - main_uri, NULL, TRUE, TRUE, TRUE, NULL); - g_free (main_uri); - if (download != NULL) { - gchar *base_uri; - - buf = gst_fragment_get_buffer (download); - playlist = gst_hls_src_buf_to_utf8_playlist (buf); - gst_buffer_unref (buf); - - if (playlist == NULL) { - GST_WARNING_OBJECT (demux, - "Failed to validate variant playlist encoding"); - g_free (uri); - g_object_unref (download); - return FALSE; - } - - g_free (uri); - if (download->redirect_permanent && download->redirect_uri) { - uri = download->redirect_uri; - base_uri = NULL; - } else { - uri = download->uri; - base_uri = download->redirect_uri; - } - - if (!gst_m3u8_client_update_variant_playlist (demux->client, playlist, - uri, base_uri)) { - GST_WARNING_OBJECT (demux, "Failed to update the variant playlist"); - g_object_unref (download); - return FALSE; - } - - g_object_unref (download); - - main_checked = TRUE; - goto retry; - } else { - g_free (uri); - return FALSE; - } - } else { + if (!update || main_checked + || !gst_m3u8_client_has_variant_playlist (demux->client)) { + g_free (uri); + return FALSE; + } + + main_uri = gst_m3u8_client_get_uri (demux->client); + GST_INFO_OBJECT (demux, + "Updating playlist %s failed, attempt to refresh variant playlist %s", + uri, main_uri); + download = + gst_uri_downloader_fetch_uri (adaptive_demux->downloader, + main_uri, NULL, TRUE, TRUE, TRUE, NULL); + g_free (main_uri); + if (download == NULL) { + g_free (uri); + return FALSE; + } + + buf = gst_fragment_get_buffer (download); + playlist = gst_hls_src_buf_to_utf8_playlist (buf); + gst_buffer_unref (buf); + + if (playlist == NULL) { + GST_WARNING_OBJECT (demux, + "Failed to validate variant playlist encoding"); g_free (uri); + g_object_unref (download); + return FALSE; + } + + g_free (uri); + if (download->redirect_permanent && download->redirect_uri) { + uri = download->redirect_uri; + base_uri = NULL; + } else { + uri = download->uri; + base_uri = download->redirect_uri; + } + + if (!gst_m3u8_client_update_variant_playlist (demux->client, playlist, + uri, base_uri)) { + GST_WARNING_OBJECT (demux, "Failed to update the variant playlist"); + g_object_unref (download); return FALSE; } + + g_object_unref (download); + + main_checked = TRUE; + goto retry; } g_free (uri); |