[Bug 656923] [playbin2] behavior change wrt discovered sink elements while autoplugging

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sun Aug 21 02:39:50 PDT 2011


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

--- Comment #2 from Julien MOUTTE <julien at moutte.net> 2011-08-21 09:39:45 UTC ---
I got confused by git blame and could not find the proper commit message then,
sorry about that.

Before when decodebin2 was discovering a sink, playbin2 was remembering that
sink element and was using it instead of the one provided by the application.
This was annoying in some sense because if you provided a sink element and were
expecting to set properties on it you had to make sure it was actually the one
that was in use.

For example when decoding H264 video decodebin2 was autoplugging qtdemux then
Fluendo VA decoder which generated video/x-fluendo-va output caps and then the
Fluendo VA sink which handled those caps. Playbin2 was then using the Fluendo
VA sink and everything went fine. For non accelerated video, no sink were
encountered and the configured video sink was used.

That's how we've been supporting transparent hardware acceleration for Totem on
various distro for the past 2 years.

With that change playbin2 will discover the Fluendo VA sink and will then check
if the sink configured by the application can handle the caps. If it can then
it will expose the pad and if it can't it will skip that sink and try to find
another element that could convert the caps in something that can be handled by
the configured sink.

In our case, no other element can handle video/x-fluendo-va and the configured
sink in the case of Totem is most likely ximagesink which can't handle anything
but RGB. So we end up with no video showing up in Totem.

I understand that in GStreamer POV this can be easily fixed by not configuring
any video sink on playbin2 and let it do its magic. But the thing is that Totem
is not programed this way so it will set gconfvideosink and fallback to
ximagesink.

Our current approach of working around this is to make a fluvaautosink element
that will be selected by autovideosink and which will handle the switch between
fluvasink and xvimagesink depending on the incoming caps. That works but I m
not sure  that the new behavior is actually "better".

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