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

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: Fix seek_tester build buster 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 387 matching lines...) Expand 10 before | Expand all | Expand 10 after
479 std::stringstream ss; 483 std::stringstream ss;
480 ss << "{ "; 484 ss << "{ ";
481 for (size_t i = 0; i < r.size(); ++i) { 485 for (size_t i = 0; i < r.size(); ++i) {
482 ss << "[" << r.start(i).InMilliseconds() << "," 486 ss << "[" << r.start(i).InMilliseconds() << ","
483 << r.end(i).InMilliseconds() << ") "; 487 << r.end(i).InMilliseconds() << ") ";
484 } 488 }
485 ss << "}"; 489 ss << "}";
486 EXPECT_EQ(ss.str(), expected); 490 EXPECT_EQ(ss.str(), expected);
487 } 491 }
488 492
489 MOCK_METHOD1(ReadDone, void(const scoped_refptr<DecoderBuffer>&)); 493 MOCK_METHOD2(ReadDone, void(DemuxerStream::Status status,
494 const scoped_refptr<DecoderBuffer>&));
490 495
491 void ExpectRead(DemuxerStream* stream, int64 timestamp_in_ms) { 496 void ExpectRead(DemuxerStream* stream, int64 timestamp_in_ms) {
492 EXPECT_CALL(*this, ReadDone(HasTimestamp(timestamp_in_ms))); 497 EXPECT_CALL(*this, ReadDone(DemuxerStream::kOk,
498 HasTimestamp(timestamp_in_ms)));
493 stream->Read(base::Bind(&ChunkDemuxerTest::ReadDone, 499 stream->Read(base::Bind(&ChunkDemuxerTest::ReadDone,
494 base::Unretained(this))); 500 base::Unretained(this)));
495 } 501 }
496 502
497 MOCK_METHOD1(Checkpoint, void(int id)); 503 MOCK_METHOD1(Checkpoint, void(int id));
498 504
499 struct BufferTimestamps { 505 struct BufferTimestamps {
500 int video_time_ms; 506 int video_time_ms;
501 int audio_time_ms; 507 int audio_time_ms;
502 }; 508 };
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after
905 911
906 // Check to see if |audio_read_done_| and |video_read_done_| variables 912 // Check to see if |audio_read_done_| and |video_read_done_| variables
907 // match |expected|. 913 // match |expected|.
908 void CheckIfReadDonesWereCalled(bool expected) { 914 void CheckIfReadDonesWereCalled(bool expected) {
909 EXPECT_EQ(expected, audio_read_done_); 915 EXPECT_EQ(expected, audio_read_done_);
910 EXPECT_EQ(expected, video_read_done_); 916 EXPECT_EQ(expected, video_read_done_);
911 } 917 }
912 918
913 private: 919 private:
914 static void OnEndOfStreamReadDone( 920 static void OnEndOfStreamReadDone(
915 bool* called, const scoped_refptr<DecoderBuffer>& buffer) { 921 bool* called,
922 DemuxerStream::Status status,
923 const scoped_refptr<DecoderBuffer>& buffer) {
924 EXPECT_EQ(status, DemuxerStream::kOk);
916 EXPECT_TRUE(buffer->IsEndOfStream()); 925 EXPECT_TRUE(buffer->IsEndOfStream());
917 *called = true; 926 *called = true;
918 } 927 }
919 928
920 scoped_refptr<Demuxer> demuxer_; 929 scoped_refptr<Demuxer> demuxer_;
921 bool audio_read_done_; 930 bool audio_read_done_;
922 bool video_read_done_; 931 bool video_read_done_;
923 932
924 DISALLOW_COPY_AND_ASSIGN(EndOfStreamHelper); 933 DISALLOW_COPY_AND_ASSIGN(EndOfStreamHelper);
925 }; 934 };
(...skipping 753 matching lines...) Expand 10 before | Expand all | Expand 10 after
1679 EXPECT_CALL(*client_, DemuxerOpened(_)); 1688 EXPECT_CALL(*client_, DemuxerOpened(_));
1680 demuxer_->Initialize(&host_, CreateInitDoneCB(PIPELINE_OK)); 1689 demuxer_->Initialize(&host_, CreateInitDoneCB(PIPELINE_OK));
1681 ASSERT_EQ(AddId("audio", true, false), ChunkDemuxer::kOk); 1690 ASSERT_EQ(AddId("audio", true, false), ChunkDemuxer::kOk);
1682 ASSERT_EQ(AddId("video", false, true), ChunkDemuxer::kOk); 1691 ASSERT_EQ(AddId("video", false, true), ChunkDemuxer::kOk);
1683 1692
1684 CheckExpectedRanges("audio", "{ }"); 1693 CheckExpectedRanges("audio", "{ }");
1685 CheckExpectedRanges("video", "{ }"); 1694 CheckExpectedRanges("video", "{ }");
1686 } 1695 }
1687 1696
1688 } // namespace media 1697 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698