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

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

Issue 1610473002: MediaRecorder: wire the bitRate settings in Blink and content (2nd go) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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 2944013d3a50abb1f91a641ae9f62be14c338e4a..e28306aabf5d5509bca13145251e2118e5b07671 100644
--- a/content/renderer/media/media_recorder_handler.cc
+++ b/content/renderer/media/media_recorder_handler.cc
@@ -32,7 +32,9 @@ using base::TimeTicks;
namespace content {
MediaRecorderHandler::MediaRecorderHandler()
- : use_vp9_(false),
+ : video_bits_per_second_(0),
+ audio_bits_per_second_(0),
+ use_vp9_(false),
recording_(false),
client_(nullptr),
weak_factory_(this) {}
@@ -84,7 +86,9 @@ bool MediaRecorderHandler::initialize(
blink::WebMediaRecorderHandlerClient* client,
const blink::WebMediaStream& media_stream,
const blink::WebString& type,
- const blink::WebString& codecs) {
+ const blink::WebString& codecs,
+ int32_t audio_bits_per_second,
+ int32_t video_bits_per_second) {
DCHECK(main_render_thread_checker_.CalledOnValidThread());
// Save histogram data so we can see how much MediaStream Recorder is used.
// The histogram counts the number of calls to the JS API.
@@ -100,6 +104,8 @@ bool MediaRecorderHandler::initialize(
DCHECK(client);
client_ = client;
+ audio_bits_per_second_ = audio_bits_per_second;
+ video_bits_per_second_ = video_bits_per_second;
return true;
}
@@ -152,8 +158,8 @@ bool MediaRecorderHandler::start(int timeslice) {
media::BindToCurrentLoop(base::Bind(
&MediaRecorderHandler::OnEncodedVideo, weak_factory_.GetWeakPtr()));
- video_recorders_.push_back(
- new VideoTrackRecorder(use_vp9_, video_track, on_encoded_video_cb));
+ video_recorders_.push_back(new VideoTrackRecorder(
+ use_vp9_, video_track, on_encoded_video_cb, video_bits_per_second_));
}
if (use_audio_tracks) {
@@ -170,8 +176,8 @@ bool MediaRecorderHandler::start(int timeslice) {
media::BindToCurrentLoop(base::Bind(
&MediaRecorderHandler::OnEncodedAudio, weak_factory_.GetWeakPtr()));
- audio_recorders_.push_back(
- new AudioTrackRecorder(audio_track, on_encoded_audio_cb));
+ audio_recorders_.push_back(new AudioTrackRecorder(
+ audio_track, on_encoded_audio_cb, audio_bits_per_second_));
}
recording_ = true;
@@ -227,7 +233,6 @@ void MediaRecorderHandler::OnEncodedAudio(const media::AudioParameters& params,
void MediaRecorderHandler::WriteData(base::StringPiece data) {
DCHECK(main_render_thread_checker_.CalledOnValidThread());
-
// Non-buffered mode does not need to check timestamps.
if (timeslice_.is_zero()) {
client_->writeData(data.data(), data.length(), true /* lastInSlice */);

Powered by Google App Engine
This is Rietveld 408576698