From c382c845754eda4a2c193102dc4c314d7dc4439f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E6=81=A9?= Date: Thu, 17 Oct 2024 07:27:14 +0000 Subject: [PATCH] fix h264 encoder don't generate template_structure after first keyframe Bug: webrtc:345993676 Change-Id: Ie71c08d9a29b33c5f5d74d3e0779084ead9b5505 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/365962 Commit-Queue: Ilya Nikolaevskiy Reviewed-by: Sergey Silkin Reviewed-by: Ilya Nikolaevskiy Cr-Commit-Position: refs/heads/main@{#43265} --- AUTHORS | 1 + modules/video_coding/codecs/h264/h264_encoder_impl.cc | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index d46a592950..652e3aec29 100644 --- a/AUTHORS +++ b/AUTHORS @@ -151,6 +151,7 @@ Yuriy Pavlyshak Yusuke Suzuki Pengfei Han Yingying Ma +Hailin Zhao # END individuals section. # BEGIN organizations section. diff --git a/modules/video_coding/codecs/h264/h264_encoder_impl.cc b/modules/video_coding/codecs/h264/h264_encoder_impl.cc index bc81005199..a3ced2d21e 100644 --- a/modules/video_coding/codecs/h264/h264_encoder_impl.cc +++ b/modules/video_coding/codecs/h264/h264_encoder_impl.cc @@ -590,7 +590,8 @@ int32_t H264EncoderImpl::Encode( if (svc_controllers_[i]) { codec_specific.generic_frame_info = svc_controllers_[i]->OnEncodeDone(layer_frames[0]); - if (send_key_frame && codec_specific.generic_frame_info.has_value()) { + if (encoded_images_[i]._frameType == VideoFrameType::kVideoFrameKey && + codec_specific.generic_frame_info.has_value()) { codec_specific.template_structure = svc_controllers_[i]->DependencyStructure(); }