[Spice-devel] [PATCH spice-gtk 0/5] Always use Playbin to create the pipeline

Victor Toso victortoso at redhat.com
Tue May 9 11:15:52 UTC 2017


Hi,

On Mon, May 08, 2017 at 04:32:56AM -0400, Frediano Ziglio wrote:
> >
> > From: Victor Toso <me at victortoso.com>
> >
> > Hi,
> >
> > First time using git-publish [0], sorry if anything goes wrong :)
> >
> > [0] https://github.com/stefanha/git-publish
> >
> > The main goal for this series is to have streaming working with hardware
> > accelerated video decoding whenever is possible.
> >
> > The best way to achieve that is to let GStreamer do most of the work. Using
> > Playbin [1] we can create the whole pipeline. We only need to work with
> > GstAppSrc and GstAppSink to set the encoded data and gather the decoded data.
> >
> > [1]
> > https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-playbin.html
> >
> > Trying my best to not break streaming with older versions of GStreamer. Based
> > on
> > a comment from ceyusa [2], since version 1.9.0 GStreamer is able to use Vaapi
> > elements automaticaly and for that reason I'm wrapping those changes with
> > GST_CHECK_VERSION(1,9,0).
> >
> > [2]
> > https://lists.freedesktop.org/archives/spice-devel/2016-October/032825.html
> >
> > Cheers,
> >         toso
> >
>
> Why playbin is better than decodebin?

In regard to video streaming, I consider spice-gtk a simple media
playback. We should have the type of the media and maybe some extra
configuration supported over the protocol and with that, we play the
stream.

As far as I know [0], Playbin is the simple solution. It gives the whole
pipeline for us based on input configuration. With decodebin we still
create the pipeline, include some elements by hand like videoconvert.

[0] https://gstreamer.freedesktop.org/documentation/application-development/highlevel/playback-components.html

So, all in all we can use both and they only difference is maintenance or
flexibility which I don't think we need.

One strong argument to have decodebin over playbin is the GstAppSrc
configuration but that I'll reply to you in the other mail.

Cheers,


>
> > Victor Toso (5):
> >   display-gst: move "caps=" from struct to pipeline
> >   display-gst: include capabilities for h264
> >   display-gst: check GstRegistry for decoding elements
> >   display-gst: remove SPICE_GSTVIDEO_AUTO check
> >   display-gst: Use Playbin for GStreamer 1.9.0 onwards
> > 
> >  src/channel-display-gst.c | 181
> >  +++++++++++++++++++++++++++++++++++++++-------
> >  1 file changed, 153 insertions(+), 28 deletions(-)
> > 
> 
> Frediano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20170509/86034f1f/attachment-0001.sig>


More information about the Spice-devel mailing list