[Spice-devel] [PATCH 1/4] channel-display-gst: Prefer playbin3 to playbin
Frediano Ziglio
freddy77 at gmail.com
Fri Sep 15 15:35:42 UTC 2023
Il giorno ven 15 set 2023 alle ore 01:33 Vivek Kasireddy
<vivek.kasireddy at intel.com> ha scritto:
>
> From: Jin Chung Teng <jin.chung.teng at intel.com>
>
> 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;
+ }
}
/* Passing the pipeline to widget, try to get window handle and
Frediano
More information about the Spice-devel
mailing list