summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2015-12-19 21:10:56 +0000
committerTim-Philipp Müller <tim@centricular.com>2015-12-19 21:12:17 +0000
commitd5e115171b6fecd86ae4f9bb03e8f4becccd4bc9 (patch)
tree9fd602ca4a01b6c22cd567def05d7f6f78e37bea
parent8be5551dff8037a3b576c954a7660b56e3da430f (diff)
downloadgstreamer-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.c100
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);