[Bug 757376] playbin: have-context and need-context messages are lost
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue Nov 3 04:01:57 PST 2015
https://bugzilla.gnome.org/show_bug.cgi?id=757376
--- Comment #6 from Víctor Manuel Jáquez Leal <vjaquez at igalia.com> ---
I found something that might be interesting.
Printing the order of the bin adding:
Inserting streamsynchronizer0 into (null)
Inserting playsink into (null)
Inserting uridecodebin0 into playbin
Inserting source into uridecodebin0
Inserting typefind into (null)
Inserting decodebin0 into uridecodebin0
Inserting qtdemux0 into decodebin0
Inserting multiqueue0 into decodebin0
Inserting vaapih264parse0 into decodebin0
Inserting capsfilter0 into decodebin0
Inserting aacparse0 into decodebin0
Inserting h264parse0 into decodebin0
Inserting capsfilter1 into decodebin0
Inserting avdec_aac0 into decodebin0
Inserting vaapidecode0 into decodebin0 <----
Inserting inputselector0 into playbin
Inserting inputselector1 into playbin
Inserting audiotee into playsink
Inserting vaapisink0 into vbin <----
Inserting vqueue into vbin
Inserting identity into (null)
Inserting conv into vconv
Inserting scale into vconv
Inserting vconv into vbin
Inserting vdconv into vdbin
Inserting deinterlace into vdbin
Inserting vdbin into playsink
Inserting vbin into playsink
Inserting pulsesink0 into abin
Inserting aqueue into abin
Inserting identity into (null)
Inserting conv into aconv
Inserting resample into aconv
Inserting aconv into abin
Inserting abin into playsink
First, vaapisink is instantiated and set to READY. Hence it negotiates its
context and, since the element is isolated, it creates its own VA Display.
Then vaapidecode is created and inserted into the decodebin. It negotiates the
context, but in the pipeline there is not! so it creates its own VA Display.
We have two VA Display.
Afterwards vaapisink is inserted into the vbin, and the context is negotiated,
and the one created by the vaapidecode replaces the old one created by the
vaapisink.
Although this simply works, it is far from optimal, since we are creating twice
a VA Display, and, IMO (wrong, perhaps), the video sink's context should be
preferred.
--
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