From 652357e0da6528b0ff8a8e01782c84c032c9f342 Mon Sep 17 00:00:00 2001 From: Gwenole Beauchesne Date: Tue, 26 May 2015 09:33:57 +0300 Subject: [PATCH 3/3] h264parse: default to byte-stream/nalu format (Annex B). Always default to stream-format=byte-stream,alignment=nalu if avcC format was not detected. This is the natural stream format specified in the standard (Annex.B): a series of NAL units prefixed with the usual start code. https://bugzilla.gnome.org/show_bug.cgi?id=732167 Signed-off-by: Gwenole Beauchesne Signed-off-by: Sreerenj Balachandran --- gst/vaapi/gsth264parse.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gst/vaapi/gsth264parse.c b/gst/vaapi/gsth264parse.c index 4060145..b5d2955 100644 --- a/gst/vaapi/gsth264parse.c +++ b/gst/vaapi/gsth264parse.c @@ -392,7 +392,8 @@ gst_h264_parse_negotiate (GstH264Parse * h264parse, gint in_format, if (!format) format = GST_H264_PARSE_FORMAT_BYTE; if (!align) - align = GST_H264_PARSE_ALIGN_AU; + align = format == GST_H264_PARSE_FORMAT_BYTE ? GST_H264_PARSE_ALIGN_NAL : + GST_H264_PARSE_ALIGN_AU; GST_DEBUG_OBJECT (h264parse, "selected format %s, alignment %s", gst_h264_parse_get_string (h264parse, TRUE, format), @@ -2264,6 +2265,8 @@ gst_h264_parse_set_caps (GstBaseParse * parse, GstCaps * caps) /* bytestream caps sanity checks */ if (format == GST_H264_PARSE_FORMAT_BYTE) { + if (align == GST_H264_PARSE_ALIGN_NONE) + align = GST_H264_PARSE_ALIGN_NAL; /* should have SPS/PSS in-band (and/or oob in streamheader field) */ if (codec_data_value != NULL) goto bytestream_caps_with_codec_data; -- 2.1.4