bug 1149376 release leaking GstIterator holding on to mPlayBin r=cajbir
authorKarl Tomlinson <karlt+@karlt.net>
Tue, 31 Mar 2015 13:46:58 +1300
changeset 267074 03463f829208c48c0d351eea300bf0b5833da5ba
parent 267073 0c264a5558d682b29b86d5f9031670c7643d13ab
child 267075 5b1c0aca5bf674dc29230e8de500942a776345f1
push id4830
push userjlund@mozilla.com
push dateMon, 29 Jun 2015 20:18:48 +0000
treeherdermozilla-beta@4c2175bb0420 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerscajbir
bugs1149376
milestone40.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
bug 1149376 release leaking GstIterator holding on to mPlayBin r=cajbir
dom/media/gstreamer/GStreamerFunctionList.h
dom/media/gstreamer/GStreamerReader.cpp
--- a/dom/media/gstreamer/GStreamerFunctionList.h
+++ b/dom/media/gstreamer/GStreamerFunctionList.h
@@ -43,16 +43,17 @@ GST_FUNC(LIBGSTREAMER, gst_element_get_s
 GST_FUNC(LIBGSTREAMER, gst_element_get_type)
 GST_FUNC(LIBGSTREAMER, gst_element_query_convert)
 GST_FUNC(LIBGSTREAMER, gst_element_query_duration)
 GST_FUNC(LIBGSTREAMER, gst_element_seek_simple)
 GST_FUNC(LIBGSTREAMER, gst_element_set_state)
 GST_FUNC(LIBGSTREAMER, gst_flow_get_name)
 GST_FUNC(LIBGSTREAMER, gst_init)
 GST_FUNC(LIBGSTREAMER, gst_init_check)
+GST_FUNC(LIBGSTREAMER, gst_iterator_free)
 GST_FUNC(LIBGSTREAMER, gst_iterator_next)
 GST_FUNC(LIBGSTREAMER, gst_message_parse_error)
 GST_FUNC(LIBGSTREAMER, gst_message_type_get_name)
 GST_FUNC(LIBGSTREAMER, gst_mini_object_ref)
 GST_FUNC(LIBGSTREAMER, gst_mini_object_unref)
 GST_FUNC(LIBGSTREAMER, gst_object_get_name)
 GST_FUNC(LIBGSTREAMER, gst_object_get_parent)
 GST_FUNC(LIBGSTREAMER, gst_object_unref)
--- a/dom/media/gstreamer/GStreamerReader.cpp
+++ b/dom/media/gstreamer/GStreamerReader.cpp
@@ -602,16 +602,18 @@ nsresult GStreamerReader::CheckSupported
         done = true;
         break;
       case GST_ITERATOR_DONE:
         done = true;
         break;
     }
   }
 
+  gst_iterator_free(it);
+
   return unsupported ? NS_ERROR_FAILURE : NS_OK;
 }
 
 nsresult GStreamerReader::ResetDecode()
 {
   nsresult res = NS_OK;
 
   LOG(PR_LOG_DEBUG, "reset decode");