diff options
author | Thiago Santos <thiagoss@osg.samsung.com> | 2015-02-17 10:03:44 -0300 |
---|---|---|
committer | Thiago Santos <thiagoss@osg.samsung.com> | 2015-02-17 11:12:41 -0300 |
commit | e9ab79dc36a1fb8dc20668f0d3a5172b936444ba (patch) | |
tree | 799373052d8e360c10c1b6ad728c4f58b152cbc3 /ext/hls | |
parent | 34c9c86ab78e4d0455e1e776aae28a89f7d14c6d (diff) | |
download | gstreamer-plugins-bad-e9ab79dc36a1fb8dc20668f0d3a5172b936444ba.tar.gz |
adaptivedemux: add connection-speed property
Allows to set a bitrate directly instead of measuring it internally
based on the received chunks. The connection-speed was removed from
mssdemux and hlsdemux as it is now in the base class
Diffstat (limited to 'ext/hls')
-rw-r--r-- | ext/hls/gsthlsdemux.c | 24 | ||||
-rw-r--r-- | ext/hls/gsthlsdemux.h | 1 |
2 files changed, 2 insertions, 23 deletions
diff --git a/ext/hls/gsthlsdemux.c b/ext/hls/gsthlsdemux.c index 934bebabb..cbf10a8ca 100644 --- a/ext/hls/gsthlsdemux.c +++ b/ext/hls/gsthlsdemux.c @@ -63,14 +63,12 @@ enum PROP_FRAGMENTS_CACHE, PROP_BITRATE_LIMIT, - PROP_CONNECTION_SPEED, PROP_LAST }; #define DEFAULT_FRAGMENTS_CACHE 1 #define DEFAULT_FAILED_COUNT 3 #define DEFAULT_BITRATE_LIMIT 0.8 -#define DEFAULT_CONNECTION_SPEED 0 /* GObject */ static void gst_hls_demux_set_property (GObject * object, guint prop_id, @@ -177,12 +175,6 @@ gst_hls_demux_class_init (GstHLSDemuxClass * klass) 0, 1, DEFAULT_BITRATE_LIMIT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - g_object_class_install_property (gobject_class, PROP_CONNECTION_SPEED, - g_param_spec_uint ("connection-speed", "Connection Speed", - "Network connection speed in kbps (0 = unknown)", - 0, G_MAXUINT / 1000, DEFAULT_CONNECTION_SPEED, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - element_class->change_state = GST_DEBUG_FUNCPTR (gst_hls_demux_change_state); gst_element_class_add_pad_template (element_class, @@ -232,7 +224,6 @@ gst_hls_demux_init (GstHLSDemux * demux) /* Properties */ demux->bitrate_limit = DEFAULT_BITRATE_LIMIT; - demux->connection_speed = DEFAULT_CONNECTION_SPEED; } static void @@ -247,9 +238,6 @@ gst_hls_demux_set_property (GObject * object, guint prop_id, case PROP_BITRATE_LIMIT: demux->bitrate_limit = g_value_get_float (value); break; - case PROP_CONNECTION_SPEED: - demux->connection_speed = g_value_get_uint (value) * 1000; - break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -269,9 +257,6 @@ gst_hls_demux_get_property (GObject * object, guint prop_id, GValue * value, case PROP_BITRATE_LIMIT: g_value_set_float (value, demux->bitrate_limit); break; - case PROP_CONNECTION_SPEED: - g_value_set_uint (value, demux->connection_speed / 1000); - break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -488,13 +473,13 @@ gst_hls_demux_process_manifest (GstAdaptiveDemux * demux, GstBuffer * buf) GError *err = NULL; /* TODO seems like something that could be simplified */ - if (hlsdemux->connection_speed == 0) { + 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, - hlsdemux->connection_speed); + demux->connection_speed); child = GST_M3U8 (tmp->data); } @@ -1074,11 +1059,6 @@ gst_hls_demux_change_playlist (GstHLSDemux * demux, guint max_bitrate, stream = adaptive_demux->streams->data; - /* If user specifies a connection speed never use a playlist with a bandwidth - * superior than it */ - if (demux->connection_speed != 0 && max_bitrate > demux->connection_speed) - max_bitrate = demux->connection_speed; - previous_variant = demux->client->main->current_variant; current_variant = gst_m3u8_client_get_playlist_for_bitrate (demux->client, max_bitrate); diff --git a/ext/hls/gsthlsdemux.h b/ext/hls/gsthlsdemux.h index c76cd0e56..a8e15ec97 100644 --- a/ext/hls/gsthlsdemux.h +++ b/ext/hls/gsthlsdemux.h @@ -76,7 +76,6 @@ struct _GstHLSDemux /* Properties */ gfloat bitrate_limit; /* limit of the available bitrate to use */ - guint connection_speed; /* Network connection speed in kbps (0 = unknown) */ /* Streaming task */ gint64 next_download; |