From 7c2a5da1258bbfe752d2e3456172fcbfbcc92b16 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 23 Apr 2015 17:39:46 +0200 Subject: [PATCH] hlsdemux: Use the downloader of the base class instead of creating our own The one of the base class is completely unused because we override all the downloading here, so let's just use that one instead. --- ext/hls/gsthlsdemux.c | 21 ++++++--------------- ext/hls/gsthlsdemux.h | 2 -- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/ext/hls/gsthlsdemux.c b/ext/hls/gsthlsdemux.c index 03d4f4e..5513815 100644 --- a/ext/hls/gsthlsdemux.c +++ b/ext/hls/gsthlsdemux.c @@ -129,11 +129,6 @@ gst_hls_demux_dispose (GObject * obj) { GstHLSDemux *demux = GST_HLS_DEMUX (obj); - if (demux->downloader != NULL) { - g_object_unref (demux->downloader); - demux->downloader = NULL; - } - gst_hls_demux_reset (GST_ADAPTIVE_DEMUX_CAST (demux)); gst_m3u8_client_free (demux->client); @@ -206,11 +201,7 @@ gst_hls_demux_class_init (GstHLSDemuxClass * klass) static void gst_hls_demux_init (GstHLSDemux * demux) { - /* Downloader */ - demux->downloader = gst_uri_downloader_new (); - demux->do_typefind = TRUE; - } static void @@ -249,7 +240,6 @@ gst_hls_demux_change_state (GstElement * element, GstStateChange transition) switch (transition) { case GST_STATE_CHANGE_READY_TO_PAUSED: gst_hls_demux_reset (GST_ADAPTIVE_DEMUX_CAST (demux)); - gst_uri_downloader_reset (demux->downloader); break; default: break; @@ -334,7 +324,7 @@ gst_hls_demux_seek (GstAdaptiveDemux * demux, GstEvent * seek) GST_M3U8_CLIENT_UNLOCK (hlsdemux->client); gst_m3u8_client_set_current (hlsdemux->client, hlsdemux->client->main->iframe_lists->data); - gst_uri_downloader_reset (hlsdemux->downloader); + gst_uri_downloader_reset (demux->downloader); if (!gst_hls_demux_update_playlist (hlsdemux, FALSE, &err)) { GST_ELEMENT_ERROR_FROM_ERROR (hlsdemux, "Could not switch playlist", err); return FALSE; @@ -353,7 +343,7 @@ gst_hls_demux_seek (GstAdaptiveDemux * demux, GstEvent * seek) GST_M3U8_CLIENT_UNLOCK (hlsdemux->client); gst_m3u8_client_set_current (hlsdemux->client, hlsdemux->client->main->lists->data); - gst_uri_downloader_reset (hlsdemux->downloader); + gst_uri_downloader_reset (demux->downloader); if (!gst_hls_demux_update_playlist (hlsdemux, FALSE, &err)) { GST_ELEMENT_ERROR_FROM_ERROR (hlsdemux, "Could not switch playlist", err); return FALSE; @@ -514,7 +504,7 @@ gst_hls_demux_start_fragment (GstAdaptiveDemux * demux, GST_INFO_OBJECT (demux, "Fetching key %s", hlsdemux->current_key); key_fragment = - gst_uri_downloader_fetch_uri (hlsdemux->downloader, + gst_uri_downloader_fetch_uri (demux->downloader, hlsdemux->current_key, hlsdemux->client->main ? hlsdemux->client->main->uri : NULL, FALSE, FALSE, hlsdemux->client->current ? hlsdemux->client->current-> @@ -867,6 +857,7 @@ static gboolean gst_hls_demux_update_playlist (GstHLSDemux * demux, gboolean update, GError ** err) { + GstAdaptiveDemux *adaptive_demux = GST_ADAPTIVE_DEMUX (demux); GstFragment *download; GstBuffer *buf; gchar *playlist; @@ -877,7 +868,7 @@ retry: uri = gst_m3u8_client_get_current_uri (demux->client); main_uri = gst_m3u8_client_get_uri (demux->client); download = - gst_uri_downloader_fetch_uri (demux->downloader, uri, main_uri, + gst_uri_downloader_fetch_uri (adaptive_demux->downloader, uri, main_uri, TRUE, TRUE, TRUE, err); g_free (main_uri); if (download == NULL) { @@ -890,7 +881,7 @@ retry: "Updating playlist %s failed, attempt to refresh variant playlist %s", uri, main_uri); download = - gst_uri_downloader_fetch_uri (demux->downloader, + gst_uri_downloader_fetch_uri (adaptive_demux->downloader, main_uri, NULL, TRUE, TRUE, TRUE, &err2); g_free (main_uri); g_clear_error (&err2); diff --git a/ext/hls/gsthlsdemux.h b/ext/hls/gsthlsdemux.h index 77f7414..7acfead 100644 --- a/ext/hls/gsthlsdemux.h +++ b/ext/hls/gsthlsdemux.h @@ -27,7 +27,6 @@ #include #include "m3u8.h" #include "gstfragmented.h" -#include #include #if defined(HAVE_OPENSSL) #include @@ -68,7 +67,6 @@ struct _GstHLSDemux gint srcpad_counter; GstCaps *input_caps; - GstUriDownloader *downloader; gchar *uri; /* Original playlist URI */ GstM3U8Client *client; /* M3U8 client */ gboolean do_typefind; /* Whether we need to typefind the next buffer */ -- 2.7.4