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 */); |