From 2ab1997d9dbe43f6594ad464b0db3a080e140ccf Mon Sep 17 00:00:00 2001 From: Sergey Silkin Date: Fri, 12 Jan 2024 10:50:53 +0000 Subject: [PATCH] Fix a crash in video codec tester Bug: webrtc:14852 Change-Id: I282fd41f2c2486b4b788581221bf9811f6e918ec Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/334221 Reviewed-by: Jeremy Leconte Reviewed-by: Jeremy Leconte Commit-Queue: Sergey Silkin Cr-Commit-Position: refs/heads/main@{#41514} --- test/video_codec_tester.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/test/video_codec_tester.cc b/test/video_codec_tester.cc index 1cff926193..094cba6c0e 100644 --- a/test/video_codec_tester.cc +++ b/test/video_codec_tester.cc @@ -1144,8 +1144,11 @@ class Encoder : public EncodedImageCallback { } static bool IsSvc(const EncodedImage& encoded_frame, - const CodecSpecificInfo* codec_specific_info) { - ScalabilityMode scalability_mode = *codec_specific_info->scalability_mode; + const CodecSpecificInfo& codec_specific_info) { + if (!codec_specific_info.scalability_mode) { + return false; + } + ScalabilityMode scalability_mode = *codec_specific_info.scalability_mode; return (kFullSvcScalabilityModes.count(scalability_mode) || (kKeySvcScalabilityModes.count(scalability_mode) && encoded_frame.FrameType() == VideoFrameType::kVideoFrameKey)); @@ -1171,7 +1174,8 @@ class Encoder : public EncodedImageCallback { return last_superframe_->encoded_frame; } - if (IsSvc(encoded_frame, codec_specific_info)) { + RTC_CHECK(codec_specific_info != nullptr); + if (IsSvc(encoded_frame, *codec_specific_info)) { last_superframe_ = Superframe{ .encoded_frame = EncodedImage(encoded_frame), .encoded_data = EncodedImageBuffer::Create(encoded_frame.data(),