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

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

Issue 2698713003: Remove enabled/set_enabled from DemuxerStream interface (Closed)
Patch Set: cast_shell build fix Created 3 years, 10 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
« no previous file with comments | « media/filters/chunk_demuxer.cc ('k') | media/filters/decrypting_demuxer_stream.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "media/filters/chunk_demuxer.h" 5 #include "media/filters/chunk_demuxer.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <algorithm> 9 #include <algorithm>
10 #include <utility> 10 #include <utility>
(...skipping 4632 matching lines...) Expand 10 before | Expand all | Expand 10 after
4643 CheckExpectedRanges(DemuxerStream::VIDEO, "{ [0,91) }"); 4643 CheckExpectedRanges(DemuxerStream::VIDEO, "{ [0,91) }");
4644 CheckExpectedRanges("{ [30,90) }"); 4644 CheckExpectedRanges("{ [30,90) }");
4645 CheckExpectedBuffers(audio_stream, "30K 40K 50K 60K 70K 80K"); 4645 CheckExpectedBuffers(audio_stream, "30K 40K 50K 60K 70K 80K");
4646 CheckExpectedBuffers(video_stream, "71K 81"); 4646 CheckExpectedBuffers(video_stream, "71K 81");
4647 } 4647 }
4648 4648
4649 void OnStreamStatusChanged(base::WaitableEvent* event, 4649 void OnStreamStatusChanged(base::WaitableEvent* event,
4650 DemuxerStream* stream, 4650 DemuxerStream* stream,
4651 bool enabled, 4651 bool enabled,
4652 base::TimeDelta) { 4652 base::TimeDelta) {
4653 EXPECT_EQ(enabled, stream->enabled());
4654 event->Signal(); 4653 event->Signal();
4655 } 4654 }
4656 4655
4657 void CheckStreamStatusNotifications(MediaResource* media_resource, 4656 void CheckStreamStatusNotifications(MediaResource* media_resource,
4658 DemuxerStream* stream) { 4657 ChunkDemuxerStream* stream) {
4659 base::WaitableEvent event(base::WaitableEvent::ResetPolicy::AUTOMATIC, 4658 base::WaitableEvent event(base::WaitableEvent::ResetPolicy::AUTOMATIC,
4660 base::WaitableEvent::InitialState::NOT_SIGNALED); 4659 base::WaitableEvent::InitialState::NOT_SIGNALED);
4661 4660
4662 ASSERT_TRUE(stream->enabled()); 4661 ASSERT_TRUE(stream->enabled());
4663 media_resource->SetStreamStatusChangeCB( 4662 media_resource->SetStreamStatusChangeCB(
4664 base::Bind(&OnStreamStatusChanged, base::Unretained(&event))); 4663 base::Bind(&OnStreamStatusChanged, base::Unretained(&event)));
4665 4664
4666 stream->set_enabled(false, base::TimeDelta()); 4665 stream->set_enabled(false, base::TimeDelta());
4667 base::RunLoop().RunUntilIdle(); 4666 base::RunLoop().RunUntilIdle();
4668 ASSERT_TRUE(event.IsSignaled()); 4667 ASSERT_TRUE(event.IsSignaled());
4669 4668
4670 event.Reset(); 4669 event.Reset();
4671 stream->set_enabled(true, base::TimeDelta()); 4670 stream->set_enabled(true, base::TimeDelta());
4672 base::RunLoop().RunUntilIdle(); 4671 base::RunLoop().RunUntilIdle();
4673 ASSERT_TRUE(event.IsSignaled()); 4672 ASSERT_TRUE(event.IsSignaled());
4674 } 4673 }
4675 4674
4676 TEST_F(ChunkDemuxerTest, StreamStatusNotifications) { 4675 TEST_F(ChunkDemuxerTest, StreamStatusNotifications) {
4677 ASSERT_TRUE(InitDemuxer(HAS_AUDIO | HAS_VIDEO)); 4676 ASSERT_TRUE(InitDemuxer(HAS_AUDIO | HAS_VIDEO));
4678 DemuxerStream* audio_stream = GetStream(DemuxerStream::AUDIO); 4677 ChunkDemuxerStream* audio_stream =
4678 static_cast<ChunkDemuxerStream*>(GetStream(DemuxerStream::AUDIO));
4679 EXPECT_NE(nullptr, audio_stream); 4679 EXPECT_NE(nullptr, audio_stream);
4680 CheckStreamStatusNotifications(demuxer_.get(), audio_stream); 4680 CheckStreamStatusNotifications(demuxer_.get(), audio_stream);
4681 DemuxerStream* video_stream = GetStream(DemuxerStream::VIDEO); 4681 ChunkDemuxerStream* video_stream =
4682 static_cast<ChunkDemuxerStream*>(GetStream(DemuxerStream::VIDEO));
4682 EXPECT_NE(nullptr, video_stream); 4683 EXPECT_NE(nullptr, video_stream);
4683 CheckStreamStatusNotifications(demuxer_.get(), video_stream); 4684 CheckStreamStatusNotifications(demuxer_.get(), video_stream);
4684 } 4685 }
4685 4686
4686 TEST_F(ChunkDemuxerTest, MultipleIds) { 4687 TEST_F(ChunkDemuxerTest, MultipleIds) {
4687 CreateNewDemuxer(); 4688 CreateNewDemuxer();
4688 EXPECT_CALL(*this, DemuxerOpened()); 4689 EXPECT_CALL(*this, DemuxerOpened());
4689 EXPECT_CALL(host_, SetDuration(_)).Times(2); 4690 EXPECT_CALL(host_, SetDuration(_)).Times(2);
4690 demuxer_->Initialize(&host_, CreateInitDoneCB(kNoTimestamp, PIPELINE_OK), 4691 demuxer_->Initialize(&host_, CreateInitDoneCB(kNoTimestamp, PIPELINE_OK),
4691 true); 4692 true);
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
4792 EXPECT_EQ( 4793 EXPECT_EQ(
4793 demuxer_->AddId("source_id", "video/mp4", "vp09.00.01.08.02.01.01.00"), 4794 demuxer_->AddId("source_id", "video/mp4", "vp09.00.01.08.02.01.01.00"),
4794 expected); 4795 expected);
4795 } 4796 }
4796 4797
4797 INSTANTIATE_TEST_CASE_P(EnableDisableMp4Vp9Demuxing, 4798 INSTANTIATE_TEST_CASE_P(EnableDisableMp4Vp9Demuxing,
4798 ChunkDemuxerMp4Vp9Test, 4799 ChunkDemuxerMp4Vp9Test,
4799 ::testing::Bool()); 4800 ::testing::Bool());
4800 4801
4801 } // namespace media 4802 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/chunk_demuxer.cc ('k') | media/filters/decrypting_demuxer_stream.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698