Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1193)

Unified Diff: content/renderer/media/media_recorder_handler.cc

Issue 1384483005: MediaStream Recorder: Support VP9 encoder (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sandersd@ comments Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/media_recorder_handler.cc
diff --git a/content/renderer/media/media_recorder_handler.cc b/content/renderer/media/media_recorder_handler.cc
index 6fee4603159f8f72c43ca5eeacc2fcc27d54167d..f8d9de12599eba07571ae85b0059c6ac1e79ebe8 100644
--- a/content/renderer/media/media_recorder_handler.cc
+++ b/content/renderer/media/media_recorder_handler.cc
@@ -32,8 +32,9 @@ MediaRecorderHandler::~MediaRecorderHandler() {
bool MediaRecorderHandler::canSupportMimeType(
const blink::WebString& mimeType) {
DCHECK(main_render_thread_checker_.CalledOnValidThread());
- // TODO(mcasas): For the time being only empty or "video/vp8" are supported.
- return mimeType.isEmpty() || mimeType.utf8().compare("video/vp8") == 0;
+ // TODO(mcasas): So far only empty or "video/vp{8,9}" are supported.
+ return mimeType.isEmpty() || mimeType.utf8().compare("video/vp8") == 0 ||
+ mimeType.utf8().compare("video/vp9") == 0;
}
bool MediaRecorderHandler::initialize(
@@ -49,6 +50,7 @@ bool MediaRecorderHandler::initialize(
DLOG(ERROR) << "Can't support type " << mimeType.utf8();
return false;
}
+ use_vp9_ = mimeType.utf8().compare("video/vp9") == 0;
media_stream_ = media_stream;
DCHECK(client);
client_ = client;
@@ -68,8 +70,10 @@ bool MediaRecorderHandler::start(int timeslice) {
DCHECK(!media_stream_.isNull());
DCHECK(!webm_muxer_);
- webm_muxer_.reset(new media::WebmMuxer(base::Bind(
- &MediaRecorderHandler::WriteData, weak_factory_.GetWeakPtr())));
+ webm_muxer_.reset(
+ new media::WebmMuxer(use_vp9_ ? media::kCodecVP9 : media::kCodecVP8,
+ base::Bind(&MediaRecorderHandler::WriteData,
+ weak_factory_.GetWeakPtr())));
blink::WebVector<blink::WebMediaStreamTrack> video_tracks;
media_stream_.videoTracks(video_tracks);
@@ -93,7 +97,8 @@ bool MediaRecorderHandler::start(int timeslice) {
media::BindToCurrentLoop(base::Bind(&MediaRecorderHandler::OnEncodedVideo,
weak_factory_.GetWeakPtr()));
- video_recorders_.push_back(new VideoTrackRecorder(video_track,
+ video_recorders_.push_back(new VideoTrackRecorder(use_vp9_,
+ video_track,
on_encoded_video_cb));
recording_ = true;
« no previous file with comments | « content/renderer/media/media_recorder_handler.h ('k') | content/renderer/media/media_recorder_handler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698