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

Unified Diff: media/blink/multibuffer_unittest.cc

Issue 1399603003: Tie multibuffers to URLs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@media_cache
Patch Set: comments addressed Created 5 years, 1 month 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/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)
xhwang 2015/11/23 23:09:21 s/media:://
hubbe 2015/11/24 22:55:11 Done (Here and everywhere else)
: 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 {
xhwang 2015/11/23 23:09:21 Is there any reason these tests are not in media n
hubbe 2015/11/24 22:55:11 Nope, done.
public:

Powered by Google App Engine
This is Rietveld 408576698