[Bug 707605] Need "reverse-funnel" element

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Oct 8 11:33:08 CEST 2013


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

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

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

--- Comment #36 from Sebastian Dröge (slomo) <slomo at circular-chaos.org> 2013-10-08 09:33:04 UTC ---
Review of attachment 256684:
 --> (https://bugzilla.gnome.org/review?bug=707605&attachment=256684)

::: plugins/elements/gststreamiddemux.c
@@ +191,3 @@
+  demux->active_srcpad = srcpad;
+  g_hash_table_insert (demux->stream_id_pairs, g_strdup (stream_id),
+      (gpointer) srcpad);

Do you want to use the RW lock or the object lock for the hashtable now? You do
both in inconsistent ways currently.

@@ +287,3 @@
+    res = gst_pad_event_default (pad, parent, event);
+  else if (demux->active_srcpad)
+    res = gst_pad_push_event (demux->active_srcpad, event);

You need locking to access the active_srcpad as elsewhere.

@@ +311,3 @@
+  if (srcpad != NULL) {
+    if (GST_OBJECT_REFCOUNT_VALUE (srcpad) > 0)
+      gst_object_unref (srcpad);

Never do something like this, if you need it you get the refcounting wrong
elsewhere.

@@ +358,3 @@
+      gst_object_unref (demux->active_srcpad);
+    demux->active_srcpad = NULL;
+  }

hashtable and active_srcpad need proper locking

-- 
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