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

Unified Diff: media/capture/webm_muxer.cc

Issue 1233033002: MediaStream: Adding VideoTrackRecorder class and unittests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: miu@s comment on OnFirstFrameCB and OnEncodedVideoCB Created 5 years, 4 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: media/capture/webm_muxer.cc
diff --git a/media/capture/webm_muxer.cc b/media/capture/webm_muxer.cc
index 8f6704101308e3f6e9e1fb6476e4090cfbab5100..a04901b9d1b7aee8705d11aeb4661b7c76d0b215 100644
--- a/media/capture/webm_muxer.cc
+++ b/media/capture/webm_muxer.cc
@@ -6,11 +6,14 @@
#include <limits>
+#include "base/bind.h"
+
namespace media {
WebmMuxer::WebmMuxer(const WriteDataCB& write_data_callback)
: write_data_callback_(write_data_callback),
- position_(0) {
+ position_(0),
+ weak_factory_(this) {
DCHECK(thread_checker_.CalledOnValidThread());
segment_.Init(this);
segment_.set_mode(mkvmuxer::Segment::kLive);
@@ -26,8 +29,8 @@ WebmMuxer::~WebmMuxer() {
segment_.Finalize();
}
-uint64_t WebmMuxer::AddVideoTrack(const gfx::Size& frame_size,
- double frame_rate) {
+WebmMuxer::OnEncodedVideoCB
+WebmMuxer::AddVideoTrack(const gfx::Size& frame_size, double frame_rate) {
DCHECK(thread_checker_.CalledOnValidThread());
const uint64_t track_index =
@@ -50,7 +53,8 @@ uint64_t WebmMuxer::AddVideoTrack(const gfx::Size& frame_size,
// http://www.webmproject.org/docs/container/#muxer-guidelines
DCHECK_EQ(segment_.GetSegmentInfo()->timecode_scale(), 1000000ull);
- return track_index;
+ return base::Bind(&WebmMuxer::OnEncodedVideo, weak_factory_.GetWeakPtr(),
+ track_index);
}
void WebmMuxer::OnEncodedVideo(uint64_t track_number,

Powered by Google App Engine
This is Rietveld 408576698