| Index: media/blink/multibuffer_unittest.cc
|
| diff --git a/media/blink/multibuffer_unittest.cc b/media/blink/multibuffer_unittest.cc
|
| index 96c8c075fe73ba9add74bf931b52e0ac62220645..525f1c71558f31633ca6facd5c86810dc9831846 100644
|
| --- a/media/blink/multibuffer_unittest.cc
|
| +++ b/media/blink/multibuffer_unittest.cc
|
| @@ -18,27 +18,32 @@ const int kBlockSizeShift = 8;
|
| const size_t kBlockSize = 1UL << kBlockSizeShift;
|
|
|
| namespace media {
|
| -class TestMultiBufferDataProvider;
|
|
|
| -std::vector<TestMultiBufferDataProvider*> writers;
|
| +class FakeMultiBufferDataProvider;
|
|
|
| -class TestMultiBufferDataProvider : public media::MultiBuffer::DataProvider {
|
| +namespace {
|
| +std::vector<FakeMultiBufferDataProvider*> writers;
|
| +} // namespace
|
| +
|
| +class FakeMultiBufferDataProvider : public media::MultiBuffer::DataProvider {
|
| public:
|
| - TestMultiBufferDataProvider(MultiBufferBlockId pos,
|
| + FakeMultiBufferDataProvider(MultiBufferBlockId pos,
|
| size_t file_size,
|
| int max_blocks_after_defer,
|
| bool must_read_whole_file,
|
| + MultiBuffer* multibuffer,
|
| media::TestRandom* rnd)
|
| : pos_(pos),
|
| blocks_until_deferred_(1 << 30),
|
| max_blocks_after_defer_(max_blocks_after_defer),
|
| file_size_(file_size),
|
| must_read_whole_file_(must_read_whole_file),
|
| + multibuffer_(multibuffer),
|
| rnd_(rnd) {
|
| writers.push_back(this);
|
| }
|
|
|
| - ~TestMultiBufferDataProvider() override {
|
| + ~FakeMultiBufferDataProvider() override {
|
| if (must_read_whole_file_) {
|
| CHECK_GE(pos_ * kBlockSize, file_size_);
|
| }
|
| @@ -64,11 +69,6 @@ class TestMultiBufferDataProvider : public media::MultiBuffer::DataProvider {
|
| return ret;
|
| }
|
|
|
| - void SetAvailableCallback(const base::Closure& cb) override {
|
| - DCHECK(!Available());
|
| - cb_ = cb;
|
| - }
|
| -
|
| void SetDeferred(bool deferred) override {
|
| if (deferred) {
|
| if (max_blocks_after_defer_ > 0) {
|
| @@ -104,7 +104,7 @@ class TestMultiBufferDataProvider : public media::MultiBuffer::DataProvider {
|
| fifo_.push_back(DataBuffer::CreateEOSBuffer());
|
| ret = false;
|
| }
|
| - cb_.Run();
|
| + multibuffer_->OnDataProviderEvent(this);
|
| return ret;
|
| }
|
|
|
| @@ -115,7 +115,7 @@ class TestMultiBufferDataProvider : public media::MultiBuffer::DataProvider {
|
| int32_t max_blocks_after_defer_;
|
| size_t file_size_;
|
| bool must_read_whole_file_;
|
| - base::Closure cb_;
|
| + MultiBuffer* multibuffer_;
|
| media::TestRandom* rnd_;
|
| };
|
|
|
| @@ -185,12 +185,14 @@ class TestMultiBuffer : public media::MultiBuffer {
|
| void SetRangeSupported(bool supported) { range_supported_ = supported; }
|
|
|
| protected:
|
| - DataProvider* CreateWriter(const MultiBufferBlockId& pos) override {
|
| + scoped_ptr<DataProvider> CreateWriter(
|
| + const MultiBufferBlockId& pos) override {
|
| DCHECK(create_ok_);
|
| writers_created_++;
|
| CHECK_LT(writers.size(), max_writers_);
|
| - return new TestMultiBufferDataProvider(
|
| - pos, file_size_, max_blocks_after_defer_, must_read_whole_file_, rnd_);
|
| + return scoped_ptr<DataProvider>(new FakeMultiBufferDataProvider(
|
| + pos, file_size_, max_blocks_after_defer_, must_read_whole_file_, this,
|
| + rnd_));
|
| }
|
| void Prune(size_t max_to_free) override {
|
| // Prune should not cause additional writers to be spawned.
|
| @@ -211,7 +213,8 @@ class TestMultiBuffer : public media::MultiBuffer {
|
| int32_t writers_created_;
|
| media::TestRandom* rnd_;
|
| };
|
| -}
|
| +
|
| +} // namespace media
|
|
|
| class MultiBufferTest : public testing::Test {
|
| public:
|
|
|