[Bug 783301] appsrc: Should not set caps inside GstBaseSrcClass::create

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Jun 1 13:11:09 UTC 2017


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

--- Comment #2 from Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> ---
(In reply to Sebastian Dröge (slomo) from comment #1)
> Where should it do that instead? 

It is safe when done from negotiate(), in the case it's called by the
base_src_lopp() function. This is called when the reconfigure flag is set on
the pad. When that happens, we don't yet hold the live lock. It's quite a
limitation of the base class. I'll be fixing this today.

> AFAIK other basesrc subclasses also set
> caps from ::create(), e.g. if the format for the current buffer changes.

It would be nice to share which other live sources does that. This problem only
affect live sources, as in non-live, the LIVE_LOCK is only taking back in the
PAUSED->READY state, and the pipeline has been unlocked already at this point.

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