Index: media/filters/audio_renderer_impl_unittest.cc |
diff --git a/media/filters/audio_renderer_impl_unittest.cc b/media/filters/audio_renderer_impl_unittest.cc |
index 834452f331d646cf45fe8ad03e72b7b9c17531fd..5adfbc499f7491f8176e71d4c801104f0fa1cf26 100644 |
--- a/media/filters/audio_renderer_impl_unittest.cc |
+++ b/media/filters/audio_renderer_impl_unittest.cc |
@@ -46,8 +46,7 @@ |
public: |
// Give the decoder some non-garbage media properties. |
AudioRendererImplTest() |
- : needs_stop_(true), |
- demuxer_stream_(DemuxerStream::AUDIO), |
+ : demuxer_stream_(DemuxerStream::AUDIO), |
decoder_(new MockAudioDecoder()) { |
AudioDecoderConfig audio_config(kCodec, |
kSampleFormat, |
@@ -65,9 +64,6 @@ |
EXPECT_CALL(*decoder_, Reset(_)) |
.WillRepeatedly(Invoke(this, &AudioRendererImplTest::ResetDecoder)); |
- EXPECT_CALL(*decoder_, Stop(_)) |
- .WillRepeatedly(Invoke(this, &AudioRendererImplTest::StopDecoder)); |
- |
// Set up audio properties. |
EXPECT_CALL(*decoder_, bits_per_channel()) |
.WillRepeatedly(Return(audio_config.bits_per_channel())); |
@@ -92,11 +88,9 @@ |
virtual ~AudioRendererImplTest() { |
SCOPED_TRACE("~AudioRendererImplTest()"); |
- if (needs_stop_) { |
- WaitableMessageLoopEvent event; |
- renderer_->Stop(event.GetClosure()); |
- event.RunAndWait(); |
- } |
+ WaitableMessageLoopEvent event; |
+ renderer_->Stop(event.GetClosure()); |
+ event.RunAndWait(); |
} |
void ExpectUnsupportedAudioDecoder() { |
@@ -382,10 +376,6 @@ |
scoped_ptr<AudioRendererImpl> renderer_; |
scoped_refptr<FakeAudioRendererSink> sink_; |
- // Whether or not the test needs the destructor to call Stop() on |
- // |renderer_| at destruction. |
- bool needs_stop_; |
- |
private: |
TimeTicks GetTime() { |
base::AutoLock auto_lock(lock_); |
@@ -416,10 +406,6 @@ |
message_loop_.PostTask(FROM_HERE, reset_cb); |
} |
- void StopDecoder(const base::Closure& stop_cb) { |
- message_loop_.PostTask(FROM_HERE, stop_cb); |
- } |
- |
void DeliverBuffer(AudioDecoder::Status status, |
const scoped_refptr<AudioBuffer>& buffer) { |
CHECK(!read_cb_.is_null()); |
@@ -783,6 +769,7 @@ |
Preroll(1000, PIPELINE_OK); |
} |
+ |
TEST_F(AudioRendererImplTest, PendingRead_Flush) { |
Initialize(); |
@@ -811,32 +798,7 @@ |
Preroll(1000, PIPELINE_OK); |
} |
-TEST_F(AudioRendererImplTest, PendingRead_Stop) { |
- Initialize(); |
- |
- Preroll(); |
- Play(); |
- |
- // Partially drain internal buffer so we get a pending read. |
- EXPECT_TRUE(ConsumeBufferedData(frames_buffered() / 2, NULL)); |
- WaitForPendingRead(); |
- |
- Pause(); |
- |
- EXPECT_TRUE(IsReadPending()); |
- |
- WaitableMessageLoopEvent stop_event; |
- renderer_->Stop(stop_event.GetClosure()); |
- needs_stop_ = false; |
- |
- SatisfyPendingRead(kDataSize); |
- |
- stop_event.RunAndWait(); |
- |
- EXPECT_FALSE(IsReadPending()); |
-} |
- |
-TEST_F(AudioRendererImplTest, PendingFlush_Stop) { |
+TEST_F(AudioRendererImplTest, StopDuringFlush) { |
Initialize(); |
Preroll(); |
@@ -856,10 +818,10 @@ |
SatisfyPendingRead(kDataSize); |
- WaitableMessageLoopEvent event; |
- renderer_->Stop(event.GetClosure()); |
- event.RunAndWait(); |
- needs_stop_ = false; |
+ // Request a Stop() before the flush completes. |
+ WaitableMessageLoopEvent stop_event; |
+ renderer_->Stop(stop_event.GetClosure()); |
+ stop_event.RunAndWait(); |
} |
} // namespace media |