h265parser: Stop considering 6 bytes NAL complete
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Fri, 2 Nov 2018 19:53:56 +0000 (15:53 -0400)
committerSebastian Dröge <slomo@coaxion.net>
Tue, 6 Nov 2018 07:26:03 +0000 (07:26 +0000)
This is only TRUE for EOS / EOB NALs. Before this patch, passing
any valid 6 bytes of a NAL would make the parser pretend this NAL is
complete.

gst-libs/gst/codecparsers/gsth265parser.c

index cf7f71f..d1dba60 100644 (file)
@@ -1226,7 +1226,12 @@ gst_h265_parser_identify_nalu (GstH265Parser * parser,
       gst_h265_parser_identify_nalu_unchecked (parser, data, offset, size,
       nalu);
 
-  if (res != GST_H265_PARSER_OK || nalu->size == 2)
+  if (res != GST_H265_PARSER_OK)
+    goto beach;
+
+  /* The two NALs are exactly 2 bytes size and are placed at the end of an AU,
+   * there is no need to wait for the following */
+  if (nalu->type == GST_H265_NAL_EOS || nalu->type == GST_H265_NAL_EOB)
     goto beach;
 
   off2 = scan_for_start_codes (data + nalu->offset, size - nalu->offset);