[Bug 783301] basesrc: Should not hold LIVE_LOCK when calling GstBaseSrcClass::create
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Thu Jun 1 16:14:00 UTC 2017
https://bugzilla.gnome.org/show_bug.cgi?id=783301
Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|gst-plugins-base |gstreamer (core)
Summary|appsrc: Should not set caps |basesrc: Should not hold
|inside |LIVE_LOCK when calling
|GstBaseSrcClass::create |GstBaseSrcClass::create
--- Comment #6 from Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> ---
I took in consideration that decklinkvideosrc is a live source also set the
caps inside create() call, and decided to drop the live lock from
create/alloc/fill virtual method in basesrc. Overall I'm quite happy with the
results, as it's better to not hold any private locks while calling virtual
functions. It also remove some limitations that were not documented in basesrc
base class. As a side effect though, we should probably deprecate
gst_base_src_wait_playing() and remove that call from the audio base class.
It's insane to wait in the middle of capturing a buffer, as this endup hiding a
time gap. BaseSrc will now wait if needed after create(), which will let the
sync code in gst figure-out if the buffer should be dropped or not.
--
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