summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorthembrown <thembrown@gmail.com>2016-03-14 15:25:09 -0700
committerCommit bot <commit-bot@chromium.org>2016-03-14 22:26:38 +0000
commit10fd187c1de8dff86eb165deaecec7a5b5f6cc36 (patch)
tree1b399a52d2d5585d0e4da00e5ddaeee539dcf002
parent04445e7446501142f247f307e93985731763ddbd (diff)
downloadchromium_src-10fd187c1de8dff86eb165deaecec7a5b5f6cc36.zip
chromium_src-10fd187c1de8dff86eb165deaecec7a5b5f6cc36.tar.gz
chromium_src-10fd187c1de8dff86eb165deaecec7a5b5f6cc36.tar.bz2
Force keyframes every 100 frames.
Old behavior forced keyframes every 30000 frames. This makes it prohibitively expensive to seek in a resulting video (without re-encoding), as this might require decoding up to 30000 frames. Forcing more keyframes makes seeking much more efficient. BUG=594241 Review URL: https://codereview.chromium.org/1782043003 Cr-Commit-Position: refs/heads/master@{#381090}
-rw-r--r--content/renderer/media/video_track_recorder.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/content/renderer/media/video_track_recorder.cc b/content/renderer/media/video_track_recorder.cc
index 295209a..9cbd91f 100644
--- a/content/renderer/media/video_track_recorder.cc
+++ b/content/renderer/media/video_track_recorder.cc
@@ -326,9 +326,11 @@ void VideoTrackRecorder::VpxEncoder::ConfigureEncoding(const gfx::Size& size) {
// Note that due to http://crbug.com/440223, it might be necessary to force a
// key frame after 10,000frames since decoding fails after 30,000 non-key
// frames.
+ // Forcing a keyframe in regular intervals also allows seeking in the
+ // resulting recording with decent performance.
codec_config_.kf_mode = VPX_KF_AUTO;
codec_config_.kf_min_dist = 0;
- codec_config_.kf_max_dist = 30000;
+ codec_config_.kf_max_dist = 100;
// Do not saturate CPU utilization just for encoding. On a lower-end system
// with only 1 or 2 cores, use only one thread for encoding. On systems with