| Index: media/base/mock_media_filters.h
|
| diff --git a/media/base/mock_media_filters.h b/media/base/mock_media_filters.h
|
| index 079c681a69b0ff98a3fd46d1c91f54e09b7472ac..0620eff78b7595473a091100bb79ffd859ce7b23 100644
|
| --- a/media/base/mock_media_filters.h
|
| +++ b/media/base/mock_media_filters.h
|
| @@ -37,6 +37,7 @@ enum MockDataSourceBehavior {
|
| struct MockFilterConfig {
|
| MockFilterConfig()
|
| : data_source_behavior(MOCK_DATA_SOURCE_NORMAL_INIT),
|
| + data_source_value('!'),
|
| has_video(true),
|
| video_width(1280u),
|
| video_height(720u),
|
| @@ -52,6 +53,7 @@ struct MockFilterConfig {
|
| }
|
|
|
| MockDataSourceBehavior data_source_behavior;
|
| + char data_source_value;
|
| bool has_video;
|
| size_t video_width;
|
| size_t video_height;
|
| @@ -76,7 +78,16 @@ class MockDataSource : public DataSource {
|
|
|
| explicit MockDataSource(const MockFilterConfig* config)
|
| : config_(config),
|
| - position_(0) {
|
| + position_(0),
|
| + deleted_(NULL) {
|
| + }
|
| +
|
| + MockDataSource(const MockFilterConfig* config, bool* deleted)
|
| + : config_(config),
|
| + position_(0),
|
| + deleted_(deleted) {
|
| + EXPECT_TRUE(deleted);
|
| + EXPECT_FALSE(*deleted);
|
| }
|
|
|
| // Implementation of MediaFilter.
|
| @@ -121,7 +132,7 @@ class MockDataSource : public DataSource {
|
| if (size < read) {
|
| read = size;
|
| }
|
| - memset(data, 0, read);
|
| + memset(data, config_->data_source_value, read);
|
| return read;
|
| }
|
|
|
| @@ -131,8 +142,6 @@ class MockDataSource : public DataSource {
|
| }
|
|
|
| virtual bool SetPosition(int64 position) {
|
| - EXPECT_GE(position, 0u);
|
| - EXPECT_LE(position, config_->media_total_bytes);
|
| if (position < 0u || position > config_->media_total_bytes) {
|
| return false;
|
| }
|
| @@ -141,12 +150,22 @@ class MockDataSource : public DataSource {
|
| }
|
|
|
| virtual bool GetSize(int64* size_out) {
|
| - *size_out = config_->media_total_bytes;
|
| + if (config_->media_total_bytes >= 0) {
|
| + *size_out = config_->media_total_bytes;
|
| + return true;
|
| + }
|
| return false;
|
| }
|
|
|
| + // Simple position getter for unit testing.
|
| + int64 position() const { return position_; }
|
| +
|
| private:
|
| - virtual ~MockDataSource() {}
|
| + virtual ~MockDataSource() {
|
| + if (deleted_) {
|
| + *deleted_ = true;
|
| + }
|
| + }
|
|
|
| void TaskBehavior() {
|
| switch (config_->data_source_behavior) {
|
| @@ -166,6 +185,10 @@ class MockDataSource : public DataSource {
|
| int64 position_;
|
| MediaFormat media_format_;
|
|
|
| + // Set to true inside the destructor. Used in FFmpegGlue unit tests for
|
| + // testing proper reference counting.
|
| + bool* deleted_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(MockDataSource);
|
| };
|
|
|
|
|