diff --git a/modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc b/modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc index 54585082db..add3d5501e 100644 --- a/modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc +++ b/modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc @@ -1004,6 +1004,9 @@ int LibvpxVp9Encoder::Encode(const VideoFrame& input_image, if (layer_frames_.empty()) { return WEBRTC_VIDEO_CODEC_ERROR; } + if (layer_frames_.front().IsKeyframe()) { + force_key_frame_ = true; + } } vpx_svc_layer_id_t layer_id = {0}; diff --git a/test/fuzzers/corpora/vp9-encoder-references-corpus/a1c75436e1872a23391d58316d88c45da0fb7682 b/test/fuzzers/corpora/vp9-encoder-references-corpus/a1c75436e1872a23391d58316d88c45da0fb7682 new file mode 100644 index 0000000000..fc538ac83f Binary files /dev/null and b/test/fuzzers/corpora/vp9-encoder-references-corpus/a1c75436e1872a23391d58316d88c45da0fb7682 differ