[Bug 773341] urisourcebin: Cleanup unused output slot

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sat Oct 22 07:51:42 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=773341

Sebastian Dröge (slomo) <slomo at coaxion.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #338244|none                        |reviewed
             status|                            |

--- Comment #6 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
Review of attachment 338244:
 --> (https://bugzilla.gnome.org/review?bug=773341&attachment=338244)

(Only a very fast review for now)

Always having yet another thread when having a demuxer seems a bit heavy. Maybe
you can make use of gst_element_call_async() here (in a one-shot way), which
uses a thread pool?

::: gst/playback/gsturisourcebin.c
@@ +754,3 @@
+  g_rec_mutex_init (&urisrc->drained_lock);
+
+  urisrc->bus = g_object_new (GST_TYPE_BUS, "enable-async", TRUE, NULL);

gst_bus_new()?

@@ +1864,3 @@
+  /* run drained_task () */
+  urisrc->drained_task =
+      gst_task_new ((GstTaskFunction) cleanup_slot_loop, urisrc, NULL);

There can also be multiple demuxers, e.g. AVI containing DV, MXF containing
MPEG-PS/TS, etc

@@ +2518,3 @@
+    return GST_BUS_PASS;
+  } else {
+    gst_message_unref (message);

You can remove this else here and just do unref before returning DROP

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