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

Side by Side Diff: content/renderer/media/media_recorder_handler.cc

Issue 2612403002: Release video frames earlier in MediaRecorder (Closed)
Patch Set: mcasas@ nits. Created 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/media/media_recorder_handler.h" 5 #include "content/renderer/media/media_recorder_handler.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 DCHECK(!recording_); 250 DCHECK(!recording_);
251 recording_ = true; 251 recording_ = true;
252 for (const auto& video_recorder : video_recorders_) 252 for (const auto& video_recorder : video_recorders_)
253 video_recorder->Resume(); 253 video_recorder->Resume();
254 for (const auto& audio_recorder : audio_recorders_) 254 for (const auto& audio_recorder : audio_recorders_)
255 audio_recorder->Resume(); 255 audio_recorder->Resume();
256 webm_muxer_->Resume(); 256 webm_muxer_->Resume();
257 } 257 }
258 258
259 void MediaRecorderHandler::OnEncodedVideo( 259 void MediaRecorderHandler::OnEncodedVideo(
260 const scoped_refptr<media::VideoFrame>& video_frame, 260 const media::WebmMuxer::VideoParameters& params,
261 std::unique_ptr<std::string> encoded_data, 261 std::unique_ptr<std::string> encoded_data,
262 TimeTicks timestamp, 262 TimeTicks timestamp,
263 bool is_key_frame) { 263 bool is_key_frame) {
264 DCHECK(main_render_thread_checker_.CalledOnValidThread()); 264 DCHECK(main_render_thread_checker_.CalledOnValidThread());
265 if (!webm_muxer_) 265 if (!webm_muxer_)
266 return; 266 return;
267 webm_muxer_->OnEncodedVideo(video_frame, std::move(encoded_data), timestamp, 267 webm_muxer_->OnEncodedVideo(params, std::move(encoded_data), timestamp,
268 is_key_frame); 268 is_key_frame);
269 } 269 }
270 270
271 void MediaRecorderHandler::OnEncodedAudio( 271 void MediaRecorderHandler::OnEncodedAudio(
272 const media::AudioParameters& params, 272 const media::AudioParameters& params,
273 std::unique_ptr<std::string> encoded_data, 273 std::unique_ptr<std::string> encoded_data,
274 base::TimeTicks timestamp) { 274 base::TimeTicks timestamp) {
275 DCHECK(main_render_thread_checker_.CalledOnValidThread()); 275 DCHECK(main_render_thread_checker_.CalledOnValidThread());
276 if (webm_muxer_) 276 if (webm_muxer_)
277 webm_muxer_->OnEncodedAudio(params, std::move(encoded_data), timestamp); 277 webm_muxer_->OnEncodedAudio(params, std::move(encoded_data), timestamp);
(...skipping 29 matching lines...) Expand all
307 recorder->OnData(audio_bus, timestamp); 307 recorder->OnData(audio_bus, timestamp);
308 } 308 }
309 309
310 void MediaRecorderHandler::SetAudioFormatForTesting( 310 void MediaRecorderHandler::SetAudioFormatForTesting(
311 const media::AudioParameters& params) { 311 const media::AudioParameters& params) {
312 for (const auto& recorder : audio_recorders_) 312 for (const auto& recorder : audio_recorders_)
313 recorder->OnSetFormat(params); 313 recorder->OnSetFormat(params);
314 } 314 }
315 315
316 } // namespace content 316 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/media_recorder_handler.h ('k') | content/renderer/media/video_track_recorder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698