[Spice-commits] src/channel-display-gst.c

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Oct 6 08:04:30 UTC 2023


 src/channel-display-gst.c |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

New commits:
commit 2a8dc65b9bddc2fd0e89312f501701fd7d2cb973
Author: Jin Chung Teng <jin.chung.teng at intel.com>
Date:   Sun Oct 1 22:20:22 2023 -0700

    channel-display-gst: Prefer playbin3 to playbin
    
    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>
    Acked-by: Frediano Ziglio <freddy77 at gmail.com>

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


More information about the Spice-commits mailing list