From 6bce6ad4859725cfcf274f48de3fcac13e886cca Mon Sep 17 00:00:00 2001 From: sakal Date: Thu, 2 Mar 2017 04:34:32 -0800 Subject: [PATCH] H264BitstreamParser: Log nalu type when parsing slice type fails. Decreases all parsing failures to a warning because they are not critical errors. This is a speculative commit to help diagnose why bots are failing. BUG=chromium:697795 TBR=stefan@webrtc.org Review-Url: https://codereview.webrtc.org/2726833005 Cr-Commit-Position: refs/heads/master@{#16966} --- webrtc/common_video/h264/h264_bitstream_parser.cc | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/webrtc/common_video/h264/h264_bitstream_parser.cc b/webrtc/common_video/h264/h264_bitstream_parser.cc index 4ad0ed4b28..bbd40e8f05 100644 --- a/webrtc/common_video/h264/h264_bitstream_parser.cc +++ b/webrtc/common_video/h264/h264_bitstream_parser.cc @@ -27,10 +27,10 @@ const int kMaxQpValue = 51; namespace webrtc { -#define RETURN_ON_FAIL(x, res) \ - if (!(x)) { \ - LOG_F(LS_ERROR) << "FAILED: " #x; \ - return res; \ +#define RETURN_ON_FAIL(x, res) \ + if (!(x)) { \ + LOG_F(LS_WARNING) << "FAILED: " #x; \ + return res; \ } #define RETURN_INV_ON_FAIL(x) RETURN_ON_FAIL(x, kInvalidStream) @@ -64,7 +64,11 @@ H264BitstreamParser::Result H264BitstreamParser::ParseNonParameterSetNalu( RETURN_INV_ON_FAIL(slice_reader.ReadExponentialGolomb(&golomb_tmp)); // slice_type: ue(v) uint32_t slice_type; - RETURN_INV_ON_FAIL(slice_reader.ReadExponentialGolomb(&slice_type)); + if (!slice_reader.ReadExponentialGolomb(&slice_type)) { + // This is a temporary logging to help diagnose the issue. + LOG_F(LS_WARNING) << "Failed to read slice type: " << nalu_type; + return kInvalidStream; + } // slice_type's 5..9 range is used to indicate that all slices of a picture // have the same value of slice_type % 5, we don't care about that, so we map // to the corresponding 0..4 range.