summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorChris Bass <floobleflam@gmail.com>2014-06-17 14:23:43 +0100
committerTim-Philipp Müller <tim@centricular.com>2014-06-22 21:57:28 +0100
commitd9d4a91c62b8e2f021e5e8039bb1368f825b8d62 (patch)
tree267211fbdd5f2a2b2414224945a78c68f7dcf920 /gst
parent386e5774a798305298172fe718e9b3f14af75f9c (diff)
downloadgstreamer-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.c4
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: