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

Unified Diff: chrome/renderer/media/audio_renderer_impl_unittest.cc

Issue 6673090: Move core renderer subdirectories to content. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 9 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 | « chrome/renderer/media/audio_renderer_impl.cc ('k') | chrome/renderer/media/gles2_video_decode_context.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/media/audio_renderer_impl_unittest.cc
===================================================================
--- chrome/renderer/media/audio_renderer_impl_unittest.cc (revision 78386)
+++ chrome/renderer/media/audio_renderer_impl_unittest.cc (working copy)
@@ -1,146 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/process_util.h"
-#include "chrome/common/render_messages.h"
-#include "chrome/common/render_messages_params.h"
-#include "chrome/renderer/media/audio_renderer_impl.h"
-#include "media/base/data_buffer.h"
-#include "media/base/media_format.h"
-#include "media/base/mock_callback.h"
-#include "media/base/mock_filter_host.h"
-#include "media/base/mock_filters.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using ::testing::ReturnRef;
-
-class AudioRendererImplTest : public ::testing::Test {
- public:
- static const int kRouteId = 0;
- static const int kSize = 1024;
-
- AudioRendererImplTest() {
- message_loop_.reset(new MessageLoop(MessageLoop::TYPE_IO));
-
- // TODO(scherkus): use gmock with AudioMessageFilter to verify
- // AudioRendererImpl calls or doesn't call Send().
- filter_ = new AudioMessageFilter(kRouteId);
- filter_->message_loop_ = message_loop_.get();
-
- // Create temporary shared memory.
- CHECK(shared_mem_.CreateAnonymous(kSize));
-
- // Setup expectations for initialization.
- decoder_ = new media::MockAudioDecoder();
-
- // Associate media format with decoder
- decoder_media_format_.SetAsInteger(media::MediaFormat::kChannels, 2);
- decoder_media_format_.SetAsInteger(media::MediaFormat::kSampleRate, 48000);
- decoder_media_format_.SetAsInteger(media::MediaFormat::kSampleBits, 16);
- EXPECT_CALL(*decoder_, media_format())
- .WillRepeatedly(ReturnRef(decoder_media_format_));
-
- // Create and initialize audio renderer.
- renderer_ = new AudioRendererImpl(filter_);
- renderer_->set_host(&host_);
- renderer_->Initialize(decoder_, media::NewExpectedCallback());
-
- // Run pending tasks and simulate responding with a created audio stream.
- message_loop_->RunAllPending();
-
- // Duplicate the shared memory handle so both the test and the callee can
- // close their copy.
- base::SharedMemoryHandle duplicated_handle;
- EXPECT_TRUE(shared_mem_.ShareToProcess(base::GetCurrentProcessHandle(),
- &duplicated_handle));
-
- renderer_->OnCreated(duplicated_handle, kSize);
- }
-
- virtual ~AudioRendererImplTest() {
- }
-
- protected:
- // Fixtures.
- scoped_ptr<MessageLoop> message_loop_;
- scoped_refptr<AudioMessageFilter> filter_;
- base::SharedMemory shared_mem_;
- media::MockFilterHost host_;
- scoped_refptr<media::MockAudioDecoder> decoder_;
- scoped_refptr<AudioRendererImpl> renderer_;
- media::MediaFormat decoder_media_format_;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(AudioRendererImplTest);
-};
-
-TEST_F(AudioRendererImplTest, SetPlaybackRate) {
- // Execute SetPlaybackRate() codepath to create an IPC message.
-
- // Toggle play/pause to generate some IPC messages.
- renderer_->SetPlaybackRate(0.0f);
- renderer_->SetPlaybackRate(1.0f);
- renderer_->SetPlaybackRate(0.0f);
-
- renderer_->Stop(media::NewExpectedCallback());
- message_loop_->RunAllPending();
-}
-
-TEST_F(AudioRendererImplTest, SetVolume) {
- // Execute SetVolume() codepath to create an IPC message.
- renderer_->SetVolume(0.5f);
- renderer_->Stop(media::NewExpectedCallback());
- message_loop_->RunAllPending();
-}
-
-TEST_F(AudioRendererImplTest, Stop) {
- // Declare some state messages.
- const ViewMsg_AudioStreamState_Params kError(
- ViewMsg_AudioStreamState_Params::kError);
- const ViewMsg_AudioStreamState_Params kPlaying(
- ViewMsg_AudioStreamState_Params::kPlaying);
- const ViewMsg_AudioStreamState_Params kPaused(
- ViewMsg_AudioStreamState_Params::kPaused);
-
- // Execute Stop() codepath to create an IPC message.
- renderer_->Stop(media::NewExpectedCallback());
- message_loop_->RunAllPending();
-
- // Run AudioMessageFilter::Delegate methods, which can be executed after being
- // stopped. AudioRendererImpl shouldn't create any messages.
- renderer_->OnRequestPacket(AudioBuffersState(kSize, 0));
- renderer_->OnStateChanged(kError);
- renderer_->OnStateChanged(kPlaying);
- renderer_->OnStateChanged(kPaused);
- renderer_->OnCreated(shared_mem_.handle(), kSize);
- renderer_->OnVolume(0.5);
-
- // It's possible that the upstream decoder replies right after being stopped.
- scoped_refptr<media::Buffer> buffer(new media::DataBuffer(kSize));
- renderer_->ConsumeAudioSamples(buffer);
-}
-
-TEST_F(AudioRendererImplTest, DestroyedMessageLoop_SetPlaybackRate) {
- // Kill the message loop and verify SetPlaybackRate() still works.
- message_loop_.reset();
- renderer_->SetPlaybackRate(0.0f);
- renderer_->SetPlaybackRate(1.0f);
- renderer_->SetPlaybackRate(0.0f);
- renderer_->Stop(media::NewExpectedCallback());
-}
-
-TEST_F(AudioRendererImplTest, DestroyedMessageLoop_SetVolume) {
- // Kill the message loop and verify SetVolume() still works.
- message_loop_.reset();
- renderer_->SetVolume(0.5f);
- renderer_->Stop(media::NewExpectedCallback());
-}
-
-TEST_F(AudioRendererImplTest, DestroyedMessageLoop_ConsumeAudioSamples) {
- // Kill the message loop and verify OnReadComplete() still works.
- message_loop_.reset();
- scoped_refptr<media::Buffer> buffer(new media::DataBuffer(kSize));
- renderer_->ConsumeAudioSamples(buffer);
- renderer_->Stop(media::NewExpectedCallback());
-}
« no previous file with comments | « chrome/renderer/media/audio_renderer_impl.cc ('k') | chrome/renderer/media/gles2_video_decode_context.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698