Il giorno ven 15 set 2023 alle ore 01:33 Vivek Kasireddy <vivek.kasireddy@xxxxxxxxx> ha scritto: > > From: Jin Chung Teng <jin.chung.teng@xxxxxxxxx> > > 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@xxxxxxxxx> > Cc: Dongwon Kim <dongwon.kim@xxxxxxxxx> > Cc: Hazwan Arif Mazlan <hazwan.arif.mazlan@xxxxxxxxx> > Signed-off-by: Jin Chung Teng <jin.chung.teng@xxxxxxxxx> > Signed-off-by: Vivek Kasireddy <vivek.kasireddy@xxxxxxxxx> > --- > 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; + } } /* Passing the pipeline to widget, try to get window handle and Frediano