diff options
author | Chris Bass <floobleflam@gmail.com> | 2014-06-17 14:23:43 +0100 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2014-06-22 21:57:28 +0100 |
commit | d9d4a91c62b8e2f021e5e8039bb1368f825b8d62 (patch) | |
tree | 267211fbdd5f2a2b2414224945a78c68f7dcf920 /gst | |
parent | 386e5774a798305298172fe718e9b3f14af75f9c (diff) | |
download | gstreamer-plugins-bad-d9d4a91c62b8e2f021e5e8039bb1368f825b8d62.tar.gz |
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
Diffstat (limited to 'gst')
-rw-r--r-- | gst/videoparsers/gsth265parse.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gst/videoparsers/gsth265parse.c b/gst/videoparsers/gsth265parse.c index d2e828d02..caf461691 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: |