[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