Title: [147490] trunk/Source/WebCore
Revision
147490
Author
[email protected]
Date
2013-04-02 13:04:00 -0700 (Tue, 02 Apr 2013)

Log Message

[GStreamer] Memory leaks in MediaPlayerPrivateGStreamer
https://bugs.webkit.org/show_bug.cgi?id=113762

Patch by Sudarsana Nagineni <[email protected]> on 2013-04-02
Reviewed by Philippe Normand.

Don't leak strings returned by gst_element_get_name() and
gst_missing_plugin_message_get_installer_detail().

No new tests. No change in behavior.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (147489 => 147490)


--- trunk/Source/WebCore/ChangeLog	2013-04-02 20:00:25 UTC (rev 147489)
+++ trunk/Source/WebCore/ChangeLog	2013-04-02 20:04:00 UTC (rev 147490)
@@ -1,3 +1,19 @@
+2013-04-02  Sudarsana Nagineni  <[email protected]>
+
+        [GStreamer] Memory leaks in MediaPlayerPrivateGStreamer
+        https://bugs.webkit.org/show_bug.cgi?id=113762
+
+        Reviewed by Philippe Normand.
+
+        Don't leak strings returned by gst_element_get_name() and
+        gst_missing_plugin_message_get_installer_detail().
+
+        No new tests. No change in behavior.
+
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
+        (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
+
 2013-04-02  Min Qin  <[email protected]>
 
         Fix css style for CC button on android

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (147489 => 147490)


--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2013-04-02 20:00:25 UTC (rev 147489)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2013-04-02 20:04:00 UTC (rev 147490)
@@ -148,7 +148,8 @@
     GstStructure* structure = gst_structure_new("stream-properties", "media.role", G_TYPE_STRING, role, NULL);
     g_object_set(object, "stream-properties", structure, NULL);
     gst_structure_free(structure);
-    LOG_MEDIA_MESSAGE("Set media.role as %s at %s", role, gst_element_get_name(GST_ELEMENT(object)));
+    GOwnPtr<gchar> elementName(gst_element_get_name(GST_ELEMENT(object)));
+    LOG_MEDIA_MESSAGE("Set media.role as %s at %s", role, elementName.get());
 }
 
 PassOwnPtr<MediaPlayerPrivateInterface> MediaPlayerPrivateGStreamer::create(MediaPlayer* player)
@@ -769,7 +770,8 @@
         gst_message_parse_request_state(message, &requestedState);
         gst_element_get_state(m_playBin.get(), &currentState, NULL, 250);
         if (requestedState < currentState) {
-            LOG_MEDIA_MESSAGE("Element %s requested state change to %s", gst_element_get_name(GST_MESSAGE_SRC(message)),
+            GOwnPtr<gchar> elementName(gst_element_get_name(GST_ELEMENT(message)));
+            LOG_MEDIA_MESSAGE("Element %s requested state change to %s", elementName.get(),
                 gst_element_state_get_name(requestedState));
             m_requestedState = requestedState;
             changePipelineState(requestedState);
@@ -777,9 +779,10 @@
         break;
     case GST_MESSAGE_ELEMENT:
         if (gst_is_missing_plugin_message(message)) {
-            char* detail = gst_missing_plugin_message_get_installer_detail(message);
+            gchar* detail = gst_missing_plugin_message_get_installer_detail(message);
             GstInstallPluginsReturn result = gst_install_plugins_async(&detail, 0, mediaPlayerPrivatePluginInstallerResultFunction, this);
             m_missingPlugins = result == GST_INSTALL_PLUGINS_STARTED_OK;
+            g_free(detail);
         }
         break;
     default:
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to