[Spice-devel] [PATCH spice-gtk v2 2/5] display-gst: move "caps=" from struct to pipeline

Victor Toso victortoso at redhat.com
Thu May 11 16:37:48 UTC 2017


From: Victor Toso <me at victortoso.com>

This way we have a map of the necessary GstCaps to a given
SPICE_VIDEO_CODEC_TYPE.

This patch is also a preparatory patch to:

- Identify which GstElements in GstRegistry can handle this GstCaps

- Use Playbin as wrapper to all elements beside GstAppSrc and
  GstAppSink. In this case, we should rely on GstCaps to reduce
  typefind errors as we should know what kind of data is expected

Signed-off-by: Victor Toso <victortoso at redhat.com>
Signed-off-by: Victor Toso <me at victortoso.com>
---
 src/channel-display-gst.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/channel-display-gst.c b/src/channel-display-gst.c
index 8546167..7323ce7 100644
--- a/src/channel-display-gst.c
+++ b/src/channel-display-gst.c
@@ -62,23 +62,23 @@ static struct {
     { "decodebin", "" },
 
     /* SPICE_VIDEO_CODEC_TYPE_MJPEG */
-    { "jpegdec", "caps=image/jpeg" },
+    { "jpegdec", "image/jpeg" },
 
     /* SPICE_VIDEO_CODEC_TYPE_VP8
      *
      * typefind is unable to identify VP8 streams by design.
      * See: https://bugzilla.gnome.org/show_bug.cgi?id=756457
      */
-    { "vp8dec", "caps=video/x-vp8" },
+    { "vp8dec", "video/x-vp8" },
 
     /* SPICE_VIDEO_CODEC_TYPE_H264 */
     /* We need the caps for Playbin. We could also add "stream-format=byte-stream"
      * as we set that in spice-server but we might want to have support to
      * different stream-format */
-    { "h264parse ! avdec_h264", "caps=video/x-h264" },
+    { "h264parse ! avdec_h264", "video/x-h264" },
 
     /* SPICE_VIDEO_CODEC_TYPE_VP9 */
-    { "vp9dec", "caps=video/x-vp9" },
+    { "vp9dec", "video/x-vp9" },
 };
 
 G_STATIC_ASSERT(G_N_ELEMENTS(gst_opts) <= SPICE_VIDEO_CODEC_TYPE_ENUM_END);
@@ -328,7 +328,7 @@ static gboolean create_pipeline(SpiceGstDecoder *decoder)
      *   needed by those that follow.
      */
     desc = g_strdup_printf("appsrc name=src is-live=true format=time max-bytes=0 block=true "
-                           "%s ! %s ! videoconvert ! appsink name=sink "
+                           "caps=%s ! %s ! videoconvert ! appsink name=sink "
                            "caps=video/x-raw,format=BGRx sync=false drop=false",
                            gst_opts[opt].dec_caps, gst_opts[opt].dec_name);
     SPICE_DEBUG("GStreamer pipeline: %s", desc);
-- 
2.12.2



More information about the Spice-devel mailing list