From: Victor Toso <me@xxxxxxxxxxxxxx> 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@xxxxxxxxxx> Signed-off-by: Victor Toso <me@xxxxxxxxxxxxxx> --- 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 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel