Index: media/test/pipeline_integration_test.cc |
diff --git a/media/test/pipeline_integration_test.cc b/media/test/pipeline_integration_test.cc |
index 45a3288275445f7e4d28244a2ec13f046b769453..e267791abad4f50b5e4ab1446c6da6d32d3ecd2f 100644 |
--- a/media/test/pipeline_integration_test.cc |
+++ b/media/test/pipeline_integration_test.cc |
@@ -21,6 +21,7 @@ |
#include "media/base/media.h" |
#include "media/base/media_keys.h" |
#include "media/base/media_switches.h" |
+#include "media/base/media_tracks.h" |
#include "media/base/test_data_util.h" |
#include "media/base/timestamp_constants.h" |
#include "media/cdm/aes_decryptor.h" |
@@ -534,9 +535,7 @@ class MockMediaSource { |
chunk_demuxer_->AppendData( |
kSourceId, file_data_->data() + current_position_, size, |
- base::TimeDelta(), kInfiniteDuration(), &last_timestamp_offset_, |
- base::Bind(&MockMediaSource::InitSegmentReceived, |
- base::Unretained(this))); |
+ base::TimeDelta(), kInfiniteDuration(), &last_timestamp_offset_); |
current_position_ += size; |
} |
@@ -545,9 +544,7 @@ class MockMediaSource { |
int size) { |
CHECK(!chunk_demuxer_->IsParsingMediaSegment(kSourceId)); |
chunk_demuxer_->AppendData(kSourceId, pData, size, base::TimeDelta(), |
- kInfiniteDuration(), ×tamp_offset, |
- base::Bind(&MockMediaSource::InitSegmentReceived, |
- base::Unretained(this))); |
+ kInfiniteDuration(), ×tamp_offset); |
last_timestamp_offset_ = timestamp_offset; |
} |
@@ -558,9 +555,7 @@ class MockMediaSource { |
int size) { |
CHECK(!chunk_demuxer_->IsParsingMediaSegment(kSourceId)); |
chunk_demuxer_->AppendData(kSourceId, pData, size, append_window_start, |
- append_window_end, ×tamp_offset, |
- base::Bind(&MockMediaSource::InitSegmentReceived, |
- base::Unretained(this))); |
+ append_window_end, ×tamp_offset); |
last_timestamp_offset_ = timestamp_offset; |
} |
@@ -621,6 +616,9 @@ class MockMediaSource { |
} |
CHECK_EQ(chunk_demuxer_->AddId(kSourceId, type, codecs), ChunkDemuxer::kOk); |
+ chunk_demuxer_->SetTracksWatcher( |
+ kSourceId, base::Bind(&MockMediaSource::InitSegmentReceivedWrapper, |
+ base::Unretained(this))); |
AppendData(initial_append_size_); |
} |
@@ -636,7 +634,12 @@ class MockMediaSource { |
return last_timestamp_offset_; |
} |
- MOCK_METHOD0(InitSegmentReceived, void(void)); |
+ // A workaround for gtest mocks not allowing moving scoped_ptrs. |
+ void InitSegmentReceivedWrapper(scoped_ptr<MediaTracks> tracks) { |
+ InitSegmentReceived(tracks); |
+ } |
+ |
+ MOCK_METHOD1(InitSegmentReceived, void(scoped_ptr<MediaTracks>&)); |
private: |
scoped_refptr<DecoderBuffer> file_data_; |
@@ -682,7 +685,7 @@ class PipelineIntegrationTestHost : public testing::Test, |
class PipelineIntegrationTest : public PipelineIntegrationTestHost { |
public: |
void StartPipelineWithMediaSource(MockMediaSource* source) { |
- EXPECT_CALL(*source, InitSegmentReceived()).Times(AtLeast(1)); |
+ EXPECT_CALL(*source, InitSegmentReceived(_)).Times(AtLeast(1)); |
EXPECT_CALL(*this, OnMetadata(_)) |
.Times(AtMost(1)) |
.WillRepeatedly(SaveArg<0>(&metadata_)); |
@@ -726,7 +729,7 @@ class PipelineIntegrationTest : public PipelineIntegrationTestHost { |
void StartPipelineWithEncryptedMedia(MockMediaSource* source, |
FakeEncryptedMedia* encrypted_media) { |
- EXPECT_CALL(*source, InitSegmentReceived()).Times(AtLeast(1)); |
+ EXPECT_CALL(*source, InitSegmentReceived(_)).Times(AtLeast(1)); |
EXPECT_CALL(*this, OnMetadata(_)) |
.Times(AtMost(1)) |
.WillRepeatedly(SaveArg<0>(&metadata_)); |