[Bug 707605] Need "reverse-funnel" element

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Nov 11 03:47:24 PST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=707605
  GStreamer | gstreamer (core) | git

Sebastian Dröge (slomo) <slomo> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #258832|none                        |needs-work
             status|                            |

--- Comment #59 from Sebastian Dröge (slomo) <slomo at coaxion.net> 2013-11-11 11:47:16 UTC ---
Review of attachment 258832:
 --> (https://bugzilla.gnome.org/review?bug=707605&attachment=258832)

Please run your test in valgrind :)

::: plugins/elements/gststreamiddemux.c
@@ +274,3 @@
+
+    active_srcpad =
+        gst_streamid_demux_get_srcpad_by_stream_id (demux, stream_id);

You're leaking active_srcpad here if active_srcpad == demux->active_srcpad.

@@ +342,3 @@
+    GST_OBJECT_UNLOCK (demux);
+  } else {
+    GST_OBJECT_UNLOCK (demux);

Just put the unlock outside the if block

::: tests/check/elements/streamiddemux.c
@@ +96,3 @@
+  GstPad *peer_pad = NULL;
+
+  peer_pad = gst_pad_get_peer (active_srcpad);

You're leaking all the pads here

@@ +99,3 @@
+  fail_unless (pad == peer_pad);
+  fail_unless (g_strcmp0 (gst_pad_get_stream_id (active_srcpad),
+          gst_pad_get_stream_id (pad)) == 0);

You're leaking the return value of gst_pad_get_stream_id() here.

@@ +113,3 @@
+
+  GST_DEBUG ("Creating mysink");
+  td.mysink[0] = gst_pad_new ("mysink0", GST_PAD_SINK);

You're leaking this pad

@@ +117,3 @@
+  gst_pad_set_active (td.mysink[0], TRUE);
+
+  td.mysink[1] = gst_pad_new ("mysink1", GST_PAD_SINK);

You're leaking this pad

@@ +176,3 @@
+  for (stream_cnt = 0; stream_cnt < NUM_SUBSTREAMS; ++stream_cnt) {
+    td.mysink[stream_cnt] =
+        gst_pad_new (g_strdup_printf ("mysink%d", stream_cnt), GST_PAD_SINK);

You're leaking the name string here

@@ +189,3 @@
+  for (stream_cnt = 0; stream_cnt < NUM_SUBSTREAMS; ++stream_cnt) {
+    gst_check_setup_events_with_stream_id (td.mysrc, td.demux, td.mycaps,
+        GST_FORMAT_BYTES, g_strdup_printf ("test%d", stream_cnt++));

You're leaking the g_strdup_printf() result

@@ +200,3 @@
+    gint active_stream = rand () % NUM_SUBSTREAMS;
+    gst_check_setup_events_with_stream_id (td.mysrc, td.demux, td.mycaps,
+        GST_FORMAT_BYTES, g_strdup_printf ("test%d", active_stream));

You're leaking the g_strdup_printf() result

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list