Il giorno lun 2 ott 2023 alle ore 06:41 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. > > v2: (Frediano) > - Cache the playbin3 is available check > - Keep the playbin name for playbin3 element as well > > 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 | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/src/channel-display-gst.c b/src/channel-display-gst.c > index 36db3a3..5c9927b 100644 > --- a/src/channel-display-gst.c > +++ b/src/channel-display-gst.c > @@ -495,11 +495,17 @@ static gboolean create_pipeline(SpiceGstDecoder *decoder) > GstElement *playbin, *sink; > SpiceGstPlayFlags flags; > GstCaps *caps; > + static bool playbin3_supported = true; > > - playbin = gst_element_factory_make("playbin", "playbin"); > + playbin = playbin3_supported ? > + gst_element_factory_make("playbin3", "playbin") : 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 Acked Frediano