Re: [PATCH 1/2] channel-display-gst: Prefer playbin3 to playbin (v2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]