[Spice-devel] [PATCH spice-gtk 2/5] display-gst: include capabilities for h264

Victor Toso victortoso at redhat.com
Thu May 4 13:43:49 UTC 2017


From: Victor Toso <me at victortoso.com>

Although the comment in the code says that incomplete GstCaps could
trigger errors, this seems to be working fine. Maybe the comment was
on 0.10 version?

The follow up patch will identify elements in GstRegistry based on
GstCaps so this is a necessary change to have.

This is also a preparatory patch to use Playbin element to create the
pipeline. Without this, Playbin or typefind will fail to recognize the
stream as H264.

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

diff --git a/src/channel-display-gst.c b/src/channel-display-gst.c
index 8c34b77..773bd1c 100644
--- a/src/channel-display-gst.c
+++ b/src/channel-display-gst.c
@@ -71,11 +71,17 @@ static struct {
      */
     { "vp8dec", "video/x-vp8" },
 
-    /* SPICE_VIDEO_CODEC_TYPE_H264
-     * h264 streams detection works fine and setting an incomplete cap
-     * causes errors. So let typefind do all the work.
-     */
+    /* SPICE_VIDEO_CODEC_TYPE_H264 */
+#if GST_CHECK_VERSION(1,9,0)
+    /* 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", "video/x-h264" },
+#else
+    /* h264 streams detection works fine and setting an incomplete cap
+     * causes errors. So let typefind do all the work. */
     { "h264parse ! avdec_h264", "" },
+#endif
 
     /* SPICE_VIDEO_CODEC_TYPE_VP9 */
     { "vp9dec", "video/x-vp9" },
-- 
2.12.2



More information about the Spice-devel mailing list