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

Unified Diff: media/filters/chunk_demuxer_unittest.cc

Issue 14217008: Remove reference counting from media::DemuxerStream and friends. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/filters/chunk_demuxer.cc ('k') | media/filters/decrypting_audio_decoder.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/chunk_demuxer_unittest.cc
diff --git a/media/filters/chunk_demuxer_unittest.cc b/media/filters/chunk_demuxer_unittest.cc
index b13ae51d9ab584d5e607f1480f7d54567f6f8a13..8a1bc37ac622b368a8e238a436bb42ddf9e41d9f 100644
--- a/media/filters/chunk_demuxer_unittest.cc
+++ b/media/filters/chunk_demuxer_unittest.cc
@@ -664,7 +664,7 @@ class ChunkDemuxerTest : public testing::Test {
void ReadUntilNotOkOrEndOfStream(DemuxerStream::Type type,
DemuxerStream::Status* status,
base::TimeDelta* last_timestamp) {
- scoped_refptr<DemuxerStream> stream = demuxer_->GetStream(type);
+ DemuxerStream* stream = demuxer_->GetStream(type);
scoped_refptr<DecoderBuffer> buffer;
*last_timestamp = kNoTimestamp();
@@ -812,8 +812,7 @@ TEST_F(ChunkDemuxerTest, TestInit) {
ASSERT_TRUE(InitDemuxerWithEncryptionInfo(
has_audio, has_video, is_audio_encrypted, is_video_encrypted));
- scoped_refptr<DemuxerStream> audio_stream =
- demuxer_->GetStream(DemuxerStream::AUDIO);
+ DemuxerStream* audio_stream = demuxer_->GetStream(DemuxerStream::AUDIO);
if (has_audio) {
ASSERT_TRUE(audio_stream);
@@ -831,8 +830,7 @@ TEST_F(ChunkDemuxerTest, TestInit) {
EXPECT_FALSE(audio_stream);
}
- scoped_refptr<DemuxerStream> video_stream =
- demuxer_->GetStream(DemuxerStream::VIDEO);
+ DemuxerStream* video_stream = demuxer_->GetStream(DemuxerStream::VIDEO);
if (has_video) {
EXPECT_TRUE(video_stream);
EXPECT_EQ(is_video_encrypted,
@@ -1135,10 +1133,8 @@ class EndOfStreamHelper {
EXPECT_FALSE(audio_read_done_);
EXPECT_FALSE(video_read_done_);
- scoped_refptr<DemuxerStream> audio =
- demuxer_->GetStream(DemuxerStream::AUDIO);
- scoped_refptr<DemuxerStream> video =
- demuxer_->GetStream(DemuxerStream::VIDEO);
+ DemuxerStream* audio = demuxer_->GetStream(DemuxerStream::AUDIO);
+ DemuxerStream* video = demuxer_->GetStream(DemuxerStream::VIDEO);
audio->Read(base::Bind(&OnEndOfStreamReadDone, &audio_read_done_));
video->Read(base::Bind(&OnEndOfStreamReadDone, &video_read_done_));
@@ -2133,8 +2129,7 @@ TEST_F(ChunkDemuxerTest, TestConfigChange_Video) {
DemuxerStream::Status status;
base::TimeDelta last_timestamp;
- scoped_refptr<DemuxerStream> video =
- demuxer_->GetStream(DemuxerStream::VIDEO);
+ DemuxerStream* video = demuxer_->GetStream(DemuxerStream::VIDEO);
// Fetch initial video config and verify it matches what we expect.
const VideoDecoderConfig& video_config_1 = video->video_decoder_config();
@@ -2181,8 +2176,7 @@ TEST_F(ChunkDemuxerTest, TestConfigChange_Audio) {
DemuxerStream::Status status;
base::TimeDelta last_timestamp;
- scoped_refptr<DemuxerStream> audio =
- demuxer_->GetStream(DemuxerStream::AUDIO);
+ DemuxerStream* audio = demuxer_->GetStream(DemuxerStream::AUDIO);
// Fetch initial audio config and verify it matches what we expect.
const AudioDecoderConfig& audio_config_1 = audio->audio_decoder_config();
@@ -2226,8 +2220,7 @@ TEST_F(ChunkDemuxerTest, TestConfigChange_Seek) {
ASSERT_TRUE(InitDemuxerWithConfigChangeData());
- scoped_refptr<DemuxerStream> video =
- demuxer_->GetStream(DemuxerStream::VIDEO);
+ DemuxerStream* video = demuxer_->GetStream(DemuxerStream::VIDEO);
// Fetch initial video config and verify it matches what we expect.
const VideoDecoderConfig& video_config_1 = video->video_decoder_config();
@@ -2451,4 +2444,25 @@ TEST_F(ChunkDemuxerTest, TestShutdownBeforeInitialize) {
message_loop_.RunUntilIdle();
}
+TEST_F(ChunkDemuxerTest, ReadAfterAudioDisabled) {
+ ASSERT_TRUE(InitDemuxer(true, true));
+ scoped_ptr<Cluster> cluster(kDefaultFirstCluster());
+ AppendData(cluster->data(), cluster->size());
+
+ DemuxerStream* stream = demuxer_->GetStream(DemuxerStream::AUDIO);
+ ASSERT_TRUE(stream);
+
+ // The stream should no longer be present.
+ demuxer_->OnAudioRendererDisabled();
+ ASSERT_FALSE(demuxer_->GetStream(DemuxerStream::AUDIO));
+
+ // Normally this would return an audio buffer at timestamp zero, but
+ // all reads should return EOS buffers when disabled.
+ bool audio_read_done = false;
+ stream->Read(base::Bind(&OnReadDone_EOSExpected, &audio_read_done));
+ message_loop_.RunUntilIdle();
+
+ EXPECT_TRUE(audio_read_done);
+}
+
} // namespace media
« no previous file with comments | « media/filters/chunk_demuxer.cc ('k') | media/filters/decrypting_audio_decoder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698