Changeset 191947 in webkit
- Timestamp:
- Nov 3, 2015 2:40:06 AM (8 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r191940 r191947 1 2015-11-03 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GStreamer] Cleanup the iradio properties 4 https://bugs.webkit.org/show_bug.cgi?id=148522 5 6 Reviewed by Philippe Normand. 7 8 Remove unused icecast code. 9 10 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: 11 (StreamingClient::handleResponseReceived): 12 (webKitWebSrcGetProperty): Deleted. 13 (webKitWebSrcStop): Deleted. 14 1 15 2015-11-02 Keith Rollin <krollin@apple.com> 2 16 -
trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
r190852 r191947 138 138 139 139 GRefPtr<GstBuffer> buffer; 140 141 // icecast stuff142 gchar* iradioName;143 gchar* iradioGenre;144 gchar* iradioUrl;145 gchar* iradioTitle;146 140 }; 147 141 148 142 enum { 149 PROP_IRADIO_NAME = 1, 150 PROP_IRADIO_GENRE, 151 PROP_IRADIO_URL, 152 PROP_IRADIO_TITLE, 143 PROP_0, 153 144 PROP_LOCATION, 154 145 PROP_KEEP_ALIVE, … … 208 199 gst_element_class_set_metadata(eklass, "WebKit Web source element", "Source", "Handles HTTP/HTTPS uris", 209 200 "Sebastian Dröge <sebastian.droege@collabora.co.uk>"); 210 211 // icecast stuff212 g_object_class_install_property(oklass,213 PROP_IRADIO_NAME,214 g_param_spec_string("iradio-name",215 "iradio-name",216 "Name of the stream",217 0,218 (GParamFlags) (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)));219 220 g_object_class_install_property(oklass,221 PROP_IRADIO_GENRE,222 g_param_spec_string("iradio-genre",223 "iradio-genre",224 "Genre of the stream",225 0,226 (GParamFlags) (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)));227 228 g_object_class_install_property(oklass,229 PROP_IRADIO_URL,230 g_param_spec_string("iradio-url",231 "iradio-url",232 "Homepage URL for radio stream",233 0,234 (GParamFlags) (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)));235 236 g_object_class_install_property(oklass,237 PROP_IRADIO_TITLE,238 g_param_spec_string("iradio-title",239 "iradio-title",240 "Name of currently playing song",241 0,242 (GParamFlags) (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)));243 244 201 245 202 /* Allows setting the uri using the 'location' property, which is used … … 381 338 WTF::GMutexLocker<GMutex> locker(*GST_OBJECT_GET_LOCK(src)); 382 339 switch (propID) { 383 case PROP_IRADIO_NAME:384 g_value_set_string(value, priv->iradioName);385 break;386 case PROP_IRADIO_GENRE:387 g_value_set_string(value, priv->iradioGenre);388 break;389 case PROP_IRADIO_URL:390 g_value_set_string(value, priv->iradioUrl);391 break;392 case PROP_IRADIO_TITLE:393 g_value_set_string(value, priv->iradioTitle);394 break;395 340 case PROP_LOCATION: 396 341 g_value_set_string(value, priv->uri); … … 451 396 452 397 priv->paused = FALSE; 453 454 g_free(priv->iradioName);455 priv->iradioName = 0;456 457 g_free(priv->iradioGenre);458 priv->iradioGenre = 0;459 460 g_free(priv->iradioUrl);461 priv->iradioUrl = 0;462 463 g_free(priv->iradioTitle);464 priv->iradioTitle = 0;465 398 466 399 priv->offset = 0; … … 983 916 priv->seekable = length > 0 && g_ascii_strcasecmp("none", response.httpHeaderField(HTTPHeaderName::AcceptRanges).utf8().data()); 984 917 985 // Wait until we unlock to send notifications986 g_object_freeze_notify(G_OBJECT(src));987 988 GstTagList* tags = gst_tag_list_new_empty();989 String value = response.httpHeaderField(HTTPHeaderName::IcyName);990 if (!value.isEmpty()) {991 g_free(priv->iradioName);992 priv->iradioName = g_strdup(value.utf8().data());993 g_object_notify(G_OBJECT(src), "iradio-name");994 gst_tag_list_add(tags, GST_TAG_MERGE_REPLACE, GST_TAG_ORGANIZATION, priv->iradioName, NULL);995 }996 value = response.httpHeaderField(HTTPHeaderName::IcyGenre);997 if (!value.isEmpty()) {998 g_free(priv->iradioGenre);999 priv->iradioGenre = g_strdup(value.utf8().data());1000 g_object_notify(G_OBJECT(src), "iradio-genre");1001 gst_tag_list_add(tags, GST_TAG_MERGE_REPLACE, GST_TAG_GENRE, priv->iradioGenre, NULL);1002 }1003 value = response.httpHeaderField(HTTPHeaderName::IcyURL);1004 if (!value.isEmpty()) {1005 g_free(priv->iradioUrl);1006 priv->iradioUrl = g_strdup(value.utf8().data());1007 g_object_notify(G_OBJECT(src), "iradio-url");1008 gst_tag_list_add(tags, GST_TAG_MERGE_REPLACE, GST_TAG_LOCATION, priv->iradioUrl, NULL);1009 }1010 value = response.httpHeaderField(HTTPHeaderName::IcyTitle);1011 if (!value.isEmpty()) {1012 g_free(priv->iradioTitle);1013 priv->iradioTitle = g_strdup(value.utf8().data());1014 g_object_notify(G_OBJECT(src), "iradio-title");1015 gst_tag_list_add(tags, GST_TAG_MERGE_REPLACE, GST_TAG_TITLE, priv->iradioTitle, NULL);1016 }1017 1018 918 locker.unlock(); 1019 g_object_thaw_notify(G_OBJECT(src));1020 919 1021 920 // notify size/duration … … 1025 924 gst_app_src_set_size(priv->appsrc, -1); 1026 925 1027 // icecast stuff 1028 value = response.httpHeaderField(HTTPHeaderName::IcyMetaInt); 1029 if (!value.isEmpty()) { 1030 gchar* endptr = 0; 1031 gint64 icyMetaInt = g_ascii_strtoll(value.utf8().data(), &endptr, 10); 1032 1033 if (endptr && *endptr == '\0' && icyMetaInt > 0) { 1034 GRefPtr<GstCaps> caps = adoptGRef(gst_caps_new_simple("application/x-icy", "metadata-interval", G_TYPE_INT, (gint) icyMetaInt, NULL)); 1035 1036 gst_app_src_set_caps(priv->appsrc, caps.get()); 1037 } 1038 } else 1039 gst_app_src_set_caps(priv->appsrc, 0); 1040 1041 // notify tags 1042 if (gst_tag_list_is_empty(tags)) 1043 gst_tag_list_unref(tags); 1044 else 1045 gst_pad_push_event(priv->srcpad, gst_event_new_tag(tags)); 926 gst_app_src_set_caps(priv->appsrc, 0); 1046 927 } 1047 928
Note: See TracChangeset
for help on using the changeset viewer.