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

Side by Side Diff: media/filters/chunk_demuxer_unittest.cc

Issue 10669022: Add status parameter to DemuxerStream::ReadCB (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/bind.h" 5 #include "base/bind.h"
6 #include "media/base/audio_decoder_config.h" 6 #include "media/base/audio_decoder_config.h"
7 #include "media/base/decoder_buffer.h" 7 #include "media/base/decoder_buffer.h"
8 #include "media/base/mock_callback.h" 8 #include "media/base/mock_callback.h"
9 #include "media/base/mock_demuxer_host.h" 9 #include "media/base/mock_demuxer_host.h"
10 #include "media/base/test_data_util.h" 10 #include "media/base/test_data_util.h"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 } 65 }
66 } 66 }
67 67
68 MATCHER_P(HasTimestamp, timestamp_in_ms, "") { 68 MATCHER_P(HasTimestamp, timestamp_in_ms, "") {
69 return arg && !arg->IsEndOfStream() && 69 return arg && !arg->IsEndOfStream() &&
70 arg->GetTimestamp().InMilliseconds() == timestamp_in_ms; 70 arg->GetTimestamp().InMilliseconds() == timestamp_in_ms;
71 } 71 }
72 72
73 static void OnReadDone(const base::TimeDelta& expected_time, 73 static void OnReadDone(const base::TimeDelta& expected_time,
74 bool* called, 74 bool* called,
75 DemuxerStream::Status status,
75 const scoped_refptr<DecoderBuffer>& buffer) { 76 const scoped_refptr<DecoderBuffer>& buffer) {
77 EXPECT_EQ(status, DemuxerStream::kOk);
76 EXPECT_EQ(expected_time, buffer->GetTimestamp()); 78 EXPECT_EQ(expected_time, buffer->GetTimestamp());
77 *called = true; 79 *called = true;
78 } 80 }
79 81
80 static void OnReadDone_EOSExpected(bool* called, 82 static void OnReadDone_EOSExpected(bool* called,
83 DemuxerStream::Status status,
81 const scoped_refptr<DecoderBuffer>& buffer) { 84 const scoped_refptr<DecoderBuffer>& buffer) {
85 EXPECT_EQ(status, DemuxerStream::kOk);
82 EXPECT_TRUE(buffer->IsEndOfStream()); 86 EXPECT_TRUE(buffer->IsEndOfStream());
83 *called = true; 87 *called = true;
84 } 88 }
85 89
86 class MockChunkDemuxerClient : public ChunkDemuxerClient { 90 class MockChunkDemuxerClient : public ChunkDemuxerClient {
87 public: 91 public:
88 MockChunkDemuxerClient() {} 92 MockChunkDemuxerClient() {}
89 virtual ~MockChunkDemuxerClient() {} 93 virtual ~MockChunkDemuxerClient() {}
90 94
91 MOCK_METHOD1(DemuxerOpened, void(ChunkDemuxer* demuxer)); 95 MOCK_METHOD1(DemuxerOpened, void(ChunkDemuxer* demuxer));
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 std::stringstream ss; 481 std::stringstream ss;
478 ss << "{ "; 482 ss << "{ ";
479 for (size_t i = 0; i < r.size(); ++i) { 483 for (size_t i = 0; i < r.size(); ++i) {
480 ss << "[" << r.start(i).InMilliseconds() << "," 484 ss << "[" << r.start(i).InMilliseconds() << ","
481 << r.end(i).InMilliseconds() << ") "; 485 << r.end(i).InMilliseconds() << ") ";
482 } 486 }
483 ss << "}"; 487 ss << "}";
484 EXPECT_EQ(ss.str(), expected); 488 EXPECT_EQ(ss.str(), expected);
485 } 489 }
486 490
487 MOCK_METHOD1(ReadDone, void(const scoped_refptr<DecoderBuffer>&)); 491 MOCK_METHOD2(ReadDone, void(DemuxerStream::Status status,
492 const scoped_refptr<DecoderBuffer>&));
488 493
489 void ExpectRead(DemuxerStream* stream, int64 timestamp_in_ms) { 494 void ExpectRead(DemuxerStream* stream, int64 timestamp_in_ms) {
490 EXPECT_CALL(*this, ReadDone(HasTimestamp(timestamp_in_ms))); 495 EXPECT_CALL(*this, ReadDone(DemuxerStream::kOk,
496 HasTimestamp(timestamp_in_ms)));
491 stream->Read(base::Bind(&ChunkDemuxerTest::ReadDone, 497 stream->Read(base::Bind(&ChunkDemuxerTest::ReadDone,
492 base::Unretained(this))); 498 base::Unretained(this)));
493 } 499 }
494 500
495 MOCK_METHOD1(Checkpoint, void(int id)); 501 MOCK_METHOD1(Checkpoint, void(int id));
496 502
497 struct BufferTimestamps { 503 struct BufferTimestamps {
498 int video_time_ms; 504 int video_time_ms;
499 int audio_time_ms; 505 int audio_time_ms;
500 }; 506 };
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after
932 938
933 // Check to see if |audio_read_done_| and |video_read_done_| variables 939 // Check to see if |audio_read_done_| and |video_read_done_| variables
934 // match |expected|. 940 // match |expected|.
935 void CheckIfReadDonesWereCalled(bool expected) { 941 void CheckIfReadDonesWereCalled(bool expected) {
936 EXPECT_EQ(expected, audio_read_done_); 942 EXPECT_EQ(expected, audio_read_done_);
937 EXPECT_EQ(expected, video_read_done_); 943 EXPECT_EQ(expected, video_read_done_);
938 } 944 }
939 945
940 private: 946 private:
941 static void OnEndOfStreamReadDone( 947 static void OnEndOfStreamReadDone(
942 bool* called, const scoped_refptr<DecoderBuffer>& buffer) { 948 bool* called,
949 DemuxerStream::Status status,
950 const scoped_refptr<DecoderBuffer>& buffer) {
951 EXPECT_EQ(status, DemuxerStream::kOk);
943 EXPECT_TRUE(buffer->IsEndOfStream()); 952 EXPECT_TRUE(buffer->IsEndOfStream());
944 *called = true; 953 *called = true;
945 } 954 }
946 955
947 scoped_refptr<Demuxer> demuxer_; 956 scoped_refptr<Demuxer> demuxer_;
948 bool audio_read_done_; 957 bool audio_read_done_;
949 bool video_read_done_; 958 bool video_read_done_;
950 959
951 DISALLOW_COPY_AND_ASSIGN(EndOfStreamHelper); 960 DISALLOW_COPY_AND_ASSIGN(EndOfStreamHelper);
952 }; 961 };
(...skipping 733 matching lines...) Expand 10 before | Expand all | Expand 10 after
1686 EXPECT_CALL(*client_, DemuxerOpened(_)); 1695 EXPECT_CALL(*client_, DemuxerOpened(_));
1687 demuxer_->Initialize(&host_, CreateInitDoneCB(PIPELINE_OK)); 1696 demuxer_->Initialize(&host_, CreateInitDoneCB(PIPELINE_OK));
1688 ASSERT_EQ(AddId("audio", true, false), ChunkDemuxer::kOk); 1697 ASSERT_EQ(AddId("audio", true, false), ChunkDemuxer::kOk);
1689 ASSERT_EQ(AddId("video", false, true), ChunkDemuxer::kOk); 1698 ASSERT_EQ(AddId("video", false, true), ChunkDemuxer::kOk);
1690 1699
1691 CheckExpectedRanges("audio", "{ }"); 1700 CheckExpectedRanges("audio", "{ }");
1692 CheckExpectedRanges("video", "{ }"); 1701 CheckExpectedRanges("video", "{ }");
1693 } 1702 }
1694 1703
1695 } // namespace media 1704 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698