[Spice-devel] [PATCH 1/4] channel-display-gst: Prefer playbin3 to playbin

Kasireddy, Vivek vivek.kasireddy at intel.com
Mon Sep 18 05:49:56 UTC 2023


Hi Frediano,

> >
> > If playbin3 is available (checked in Gstreamer registry), it makes
> > sense to prefer it given the major improvements and features it offers
> > including the capability to handle higher bitrates.
> >
> > Cc: Frediano Ziglio <freddy77 at gmail.com>
> > Cc: Dongwon Kim <dongwon.kim at intel.com>
> > Cc: Hazwan Arif Mazlan <hazwan.arif.mazlan at intel.com>
> > Signed-off-by: Jin Chung Teng <jin.chung.teng at intel.com>
> > Signed-off-by: Vivek Kasireddy <vivek.kasireddy at intel.com>
> > ---
> >  src/channel-display-gst.c | 9 ++++++---
> >  1 file changed, 6 insertions(+), 3 deletions(-)
> >
> > diff --git a/src/channel-display-gst.c b/src/channel-display-gst.c
> > index 36db3a3..3f46a65 100644
> > --- a/src/channel-display-gst.c
> > +++ b/src/channel-display-gst.c
> > @@ -496,10 +496,13 @@ static gboolean create_pipeline(SpiceGstDecoder
> *decoder)
> >      SpiceGstPlayFlags flags;
> >      GstCaps *caps;
> >
> > -    playbin = gst_element_factory_make("playbin", "playbin");
> > +    playbin = gst_element_factory_make("playbin3", "playbin3");
> >      if (playbin == NULL) {
> > -        spice_warning("error upon creation of 'playbin' element");
> > -        return FALSE;
> > +        playbin = gst_element_factory_make("playbin", "playbin");
> > +        if (playbin == NULL) {
> > +            spice_warning("error upon creation of 'playbin' element");
> > +            return FALSE;
> > +        }
> >      }
> >
> >      /* Passing the pipeline to widget, try to get window handle and
> 
> Why not cache the check, something like
> 
>      SpiceGstPlayFlags flags;
>      GstCaps *caps;
>      static bool playbin3_supported = true;
> 
> -    playbin = gst_element_factory_make("play
> bin", "playbin");
> +    playbin = playbin3_supported ?
> gst_element_factory_make("playbin3", "playbin3") : NULL;
>      if (playbin == NULL) {
> -        spice_warning("error upon creation of 'playbin' element");
> -        return FALSE;
> +        playbin3_supported = false;
> +        playbin = gst_element_factory_make("playbin", "playbin");
> +        if (playbin == NULL) {
> +            spice_warning("error upon creation of 'playbin' element");
> +            return FALSE;
> +        }
Yeah, doing the above is a good idea. Will add it in v2.

Thanks,
Vivek

>      }
> 
>      /* Passing the pipeline to widget, try to get window handle and
> 
> Frediano


More information about the Spice-devel mailing list