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

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

 



From: Victor Toso <me@xxxxxxxxxxxxxx>

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@xxxxxxxxxx>
Signed-off-by: Victor Toso <me@xxxxxxxxxxxxxx>
---
 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

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




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