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

Unified Diff: media/capture/webm_muxer_unittest.cc

Issue 1351473006: WebmMuxer-MediaRecorderHandler: thread hopping and data ownership (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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
« media/capture/webm_muxer.h ('K') | « media/capture/webm_muxer.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/capture/webm_muxer_unittest.cc
diff --git a/media/capture/webm_muxer_unittest.cc b/media/capture/webm_muxer_unittest.cc
index bde9b4fb49a6d398240d17bb34f220f09bd84b48..160002683bde299d59fe4271e38b2afeaad11587 100644
--- a/media/capture/webm_muxer_unittest.cc
+++ b/media/capture/webm_muxer_unittest.cc
@@ -7,6 +7,7 @@
#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
+#include "base/test/test_simple_task_runner.h"
#include "media/base/video_frame.h"
#include "media/capture/webm_muxer.h"
#include "testing/gmock/include/gmock/gmock.h"
@@ -29,14 +30,16 @@ class EventHandlerInterface {
class WebmMuxerTest : public testing::Test, public EventHandlerInterface {
public:
WebmMuxerTest()
- : webm_muxer_(base::Bind(&WebmMuxerTest::WriteCallback,
- base::Unretained(this))),
+ : test_task_runner_(new base::TestSimpleTaskRunner()),
+ webm_muxer_(new WebmMuxer(test_task_runner_,
+ base::Bind(&WebmMuxerTest::WriteCallback,
+ base::Unretained(this)))),
last_encoded_length_(0),
accumulated_position_(0) {
- EXPECT_EQ(webm_muxer_.Position(), 0);
+ EXPECT_EQ(webm_muxer_->Position(), 0);
const mkvmuxer::int64 kRandomNewPosition = 333;
- EXPECT_EQ(webm_muxer_.Position(kRandomNewPosition), -1);
- EXPECT_FALSE(webm_muxer_.Seekable());
+ EXPECT_EQ(webm_muxer_->Position(kRandomNewPosition), -1);
+ EXPECT_FALSE(webm_muxer_->Seekable());
}
MOCK_METHOD1(WriteCallback, void(const base::StringPiece&));
@@ -47,18 +50,19 @@ class WebmMuxerTest : public testing::Test, public EventHandlerInterface {
}
mkvmuxer::int64 GetWebmMuxerPosition() const {
- return webm_muxer_.Position();
+ return webm_muxer_->Position();
}
mkvmuxer::Segment::Mode GetWebmSegmentMode() const {
- return webm_muxer_.segment_.mode();
+ return webm_muxer_->segment_->mode();
}
mkvmuxer::int32 WebmMuxerWrite(const void* buf, mkvmuxer::uint32 len) {
- return webm_muxer_.Write(buf, len);
+ return webm_muxer_->Write(buf, len);
}
- WebmMuxer webm_muxer_;
+ const scoped_refptr<base::TestSimpleTaskRunner> test_task_runner_;
+ scoped_refptr<WebmMuxer> webm_muxer_;
size_t last_encoded_length_;
int64_t accumulated_position_;
@@ -90,10 +94,10 @@ TEST_F(WebmMuxerTest, OnEncodedVideoTwoFrames) {
.Times(AtLeast(1))
.WillRepeatedly(WithArgs<0>(
Invoke(this, &WebmMuxerTest::SaveEncodedDataLen)));
- webm_muxer_.OnEncodedVideo(video_frame,
- encoded_data,
- base::TimeTicks::Now(),
- false /* keyframe */);
+ webm_muxer_->OnEncodedVideo(video_frame,
+ encoded_data,
+ base::TimeTicks::Now(),
+ false /* keyframe */);
// First time around WriteCallback() is pinged a number of times to write the
// Matroska header, but at the end it dumps |encoded_data|.
@@ -107,10 +111,10 @@ TEST_F(WebmMuxerTest, OnEncodedVideoTwoFrames) {
.Times(AtLeast(1))
.WillRepeatedly(WithArgs<0>(
Invoke(this, &WebmMuxerTest::SaveEncodedDataLen)));
- webm_muxer_.OnEncodedVideo(video_frame,
- encoded_data,
- base::TimeTicks::Now(),
- false /* keyframe */);
+ webm_muxer_->OnEncodedVideo(video_frame,
+ encoded_data,
+ base::TimeTicks::Now(),
+ false /* keyframe */);
// The second time around the callbacks should include a SimpleBlock header,
// namely the track index, a timestamp and a flags byte, for a total of 6B.
« media/capture/webm_muxer.h ('K') | « media/capture/webm_muxer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698