[Bug 715192] videodecoder: Cannot accumulate buffer while downstream is blocked

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sat Dec 14 11:32:50 PST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=715192
  GStreamer | gst-plugins-base | git

--- Comment #16 from Sebastian Dröge (slomo) <slomo at coaxion.net> 2013-12-14 19:32:47 UTC ---
(In reply to comment #15)
> (In reply to comment #14)
> > Ah forgot the example: srcpad streaming thread pushes a buffer or event, at the
> > same time the sinkpad streaming thread allocates a buffer that triggers
> > negotiation.
> 
> I'm not fully convince by the explanation. If you are pushing a buffer on the
> srcpad, you'll have to wait for that call to return before you can make any
> serialized operation like sending caps event, doing allocation query etc. That
> is because the srcpad streaming lock has been taken from another process.
> 
> What am I missing ?

Yes, *because* we take the GST_VIDEO_DECODER_STREAM_LOCK() here it is all fine.
If we don't hold it while pushing buffers downstream, it is possible for the
sinkpad streaming thread to allocate a buffer, which then would (at the same
time as the srcpad streaming thread pushing a buffer) push events downstream if
we're unlucky.

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