[Spice-devel] [PATCH spice-gtk v3 3/6] display-gst: include capabilities for h264
Victor Toso
victortoso at redhat.com
Tue May 16 14:48:15 UTC 2017
From: Victor Toso <me at victortoso.com>
As the comment states, incomplete GstCaps for h264 could trigger
errors in h264parse element, such as:
gst_h264_parse_set_caps: video/x-h264 caps without
codec_data or stream-format
This would make h264parse to ignore the capabilities that were set.
As spice-server is encoding as byte-stream it should be fine to set
this value here too.
Any other errors to h264 format should either be reported to
GStreamer or fixed by improving the spice-protocol.
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 | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/channel-display-gst.c b/src/channel-display-gst.c
index 538e75a..73c2d25 100644
--- a/src/channel-display-gst.c
+++ b/src/channel-display-gst.c
@@ -68,10 +68,11 @@ static struct {
{ "vp8dec", "caps=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.
+ * If setting video/x-h264, h264parse will complain if we don't have the
+ * stream-format or codec_data information. As stream-format is byte-stream
+ * (hardcodec in spice-server), let add it to avoid the warning.
*/
- { "h264parse ! avdec_h264", "" },
+ { "h264parse ! avdec_h264", "caps=video/x-h264,stream-format=byte-stream" },
/* SPICE_VIDEO_CODEC_TYPE_VP9 */
{ "vp9dec", "caps=video/x-vp9" },
--
2.13.0
More information about the Spice-devel
mailing list