Index: content/common/gpu/media/vaapi_video_encode_accelerator.cc |
diff --git a/content/common/gpu/media/vaapi_video_encode_accelerator.cc b/content/common/gpu/media/vaapi_video_encode_accelerator.cc |
index 14ffe34355012f74e4ce4e72c13f24ae8b915b7a..19e1c0820dd1b4d7c741e30935cee9de30f7de28 100644 |
--- a/content/common/gpu/media/vaapi_video_encode_accelerator.cc |
+++ b/content/common/gpu/media/vaapi_video_encode_accelerator.cc |
@@ -291,7 +291,7 @@ void VaapiVideoEncodeAccelerator::BeginFrame(bool force_keyframe) { |
else |
current_pic_.type = media::H264SliceHeader::kPSlice; |
- if (current_pic_.frame_num % idr_period_ == 0) { |
+ if (current_pic_.frame_num % idr_period_ == 0 || force_keyframe) { |
current_pic_.idr = true; |
last_idr_frame_num_ = current_pic_.frame_num; |
ref_pic_list0_.clear(); |
@@ -304,8 +304,7 @@ void VaapiVideoEncodeAccelerator::BeginFrame(bool force_keyframe) { |
current_pic_.top_field_order_cnt = current_pic_.pic_order_cnt; |
current_pic_.pic_order_cnt_lsb = current_pic_.pic_order_cnt; |
- current_encode_job_->keyframe = |
- (current_pic_.type == media::H264SliceHeader::kISlice); |
+ current_encode_job_->keyframe = current_pic_.idr; |
DVLOGF(4) << "Starting a new frame, type: " << current_pic_.type |
<< (force_keyframe ? " (forced keyframe)" : "") |