From d9d4a91c62b8e2f021e5e8039bb1368f825b8d62 Mon Sep 17 00:00:00 2001 From: Chris Bass Date: Tue, 17 Jun 2014 14:23:43 +0100 Subject: [PATCH] h265parse: fix hvcC size check In ISO/IEC 14496-15, the minimum size of a HEVCDecoderConfigurationRecord (i.e., the contents of a hvcC box) is 23 bytes. However, the code in h265parse checks that the size of this data is not less than 28 bytes, and it refuses to accept caps if the check fails. The result is that standards-conformant streams that don't carry any parameter sets in their hvcC boxes won't play. https://bugzilla.gnome.org//show_bug.cgi?id=731783 --- gst/videoparsers/gsth265parse.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst/videoparsers/gsth265parse.c b/gst/videoparsers/gsth265parse.c index d2e828d025..caf461691a 100644 --- a/gst/videoparsers/gsth265parse.c +++ b/gst/videoparsers/gsth265parse.c @@ -1767,7 +1767,7 @@ gst_h265_parse_set_caps (GstBaseParse * parse, GstCaps * caps) size = map.size; /* parse the hvcC data */ - if (size < 28) { + if (size < 23) { gst_buffer_unmap (codec_data, &map); goto hvcc_too_small; } @@ -1854,7 +1854,7 @@ gst_h265_parse_set_caps (GstBaseParse * parse, GstCaps * caps) /* ERRORS */ hvcc_too_small: { - GST_DEBUG_OBJECT (h265parse, "hvcC size %" G_GSIZE_FORMAT " < 8", size); + GST_DEBUG_OBJECT (h265parse, "hvcC size %" G_GSIZE_FORMAT " < 23", size); goto refuse_caps; } wrong_version: