diff --git a/common_video/h264/h264_bitstream_parser.cc b/common_video/h264/h264_bitstream_parser.cc index 38cf0ff6e6..5c0ebb83d8 100644 --- a/common_video/h264/h264_bitstream_parser.cc +++ b/common_video/h264/h264_bitstream_parser.cc @@ -307,6 +307,9 @@ H264BitstreamParser::Result H264BitstreamParser::ParseNonParameterSetNalu( } void H264BitstreamParser::ParseSlice(rtc::ArrayView slice) { + if (slice.empty()) { + return; + } H264::NaluType nalu_type = H264::ParseNaluType(slice[0]); switch (nalu_type) { case H264::NaluType::kSps: { diff --git a/common_video/h264/sps_vui_rewriter.cc b/common_video/h264/sps_vui_rewriter.cc index 07b5805148..fa824a597d 100644 --- a/common_video/h264/sps_vui_rewriter.cc +++ b/common_video/h264/sps_vui_rewriter.cc @@ -238,7 +238,9 @@ rtc::Buffer SpsVuiRewriter::ParseOutgoingBitstreamAndRewrite( nalu_index.payload_start_offset - nalu_index.start_offset); rtc::ArrayView nalu = buffer.subview( nalu_index.payload_start_offset, nalu_index.payload_size); - + if (nalu.empty()) { + continue; + } if (H264::ParseNaluType(nalu[0]) == H264::NaluType::kSps) { // Check if stream uses picture order count type 0, and if so rewrite it // to enable faster decoding. Streams in that format incur additional