| Index: content/renderer/media/audio_message_filter_unittest.cc
|
| diff --git a/content/renderer/media/audio_message_filter_unittest.cc b/content/renderer/media/audio_message_filter_unittest.cc
|
| deleted file mode 100644
|
| index 3da693fb39a98ad617dc08bb46b370f7428f7be5..0000000000000000000000000000000000000000
|
| --- a/content/renderer/media/audio_message_filter_unittest.cc
|
| +++ /dev/null
|
| @@ -1,207 +0,0 @@
|
| -// Copyright (c) 2012 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 <stdint.h>
|
| -
|
| -#include <string>
|
| -
|
| -#include "base/macros.h"
|
| -#include "base/run_loop.h"
|
| -#include "content/common/media/audio_messages.h"
|
| -#include "content/renderer/media/audio_message_filter.h"
|
| -#include "media/audio/audio_output_ipc.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace content {
|
| -namespace {
|
| -
|
| -const int kRenderFrameId = 2;
|
| -const char kEmptyMatchedDeviceId[] = "";
|
| -
|
| -class MockAudioDelegate : public media::AudioOutputIPCDelegate {
|
| - public:
|
| - MockAudioDelegate() {
|
| - Reset();
|
| - }
|
| -
|
| - void OnStateChanged(media::AudioOutputIPCDelegateState state) override {
|
| - state_changed_received_ = true;
|
| - state_ = state;
|
| - }
|
| -
|
| - void OnDeviceAuthorized(media::OutputDeviceStatus device_status,
|
| - const media::AudioParameters& output_params,
|
| - const std::string& matched_device_id) override {
|
| - device_authorized_received_ = true;
|
| - device_status_ = device_status;
|
| - output_params_ = output_params;
|
| - matched_device_id_ = matched_device_id;
|
| - }
|
| -
|
| - void OnStreamCreated(base::SharedMemoryHandle handle,
|
| - base::SyncSocket::Handle,
|
| - int length) override {
|
| - created_received_ = true;
|
| - handle_ = handle;
|
| - length_ = length;
|
| - }
|
| -
|
| - void OnIPCClosed() override {}
|
| -
|
| - void Reset() {
|
| - state_changed_received_ = false;
|
| - state_ = media::AUDIO_OUTPUT_IPC_DELEGATE_STATE_ERROR;
|
| -
|
| - device_authorized_received_ = false;
|
| - output_params_ = media::AudioParameters();
|
| - device_status_ = media::OUTPUT_DEVICE_STATUS_ERROR_INTERNAL;
|
| -
|
| - created_received_ = false;
|
| - handle_ = base::SharedMemory::NULLHandle();
|
| - length_ = 0;
|
| -
|
| - volume_received_ = false;
|
| - volume_ = 0;
|
| - }
|
| -
|
| - bool state_changed_received() { return state_changed_received_; }
|
| - media::AudioOutputIPCDelegateState state() { return state_; }
|
| -
|
| - bool device_authorized_received() { return device_authorized_received_; }
|
| - media::AudioParameters output_params() { return output_params_; }
|
| - media::OutputDeviceStatus device_status() { return device_status_; }
|
| -
|
| - bool created_received() { return created_received_; }
|
| - base::SharedMemoryHandle handle() { return handle_; }
|
| - uint32_t length() { return length_; }
|
| -
|
| - private:
|
| - bool state_changed_received_;
|
| - media::AudioOutputIPCDelegateState state_;
|
| -
|
| - bool device_authorized_received_;
|
| - media::AudioParameters output_params_;
|
| - media::OutputDeviceStatus device_status_;
|
| - std::string matched_device_id_;
|
| -
|
| - bool created_received_;
|
| - base::SharedMemoryHandle handle_;
|
| - int length_;
|
| -
|
| - bool volume_received_;
|
| - double volume_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(MockAudioDelegate);
|
| -};
|
| -
|
| -media::AudioParameters MockOutputParams() {
|
| - return media::AudioParameters(media::AudioParameters::AUDIO_PCM_LOW_LATENCY,
|
| - media::CHANNEL_LAYOUT_STEREO,
|
| - media::AudioParameters::kAudioCDSampleRate, 16,
|
| - 100);
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -TEST(AudioMessageFilterTest, Basic) {
|
| - base::MessageLoopForIO message_loop;
|
| -
|
| - scoped_refptr<AudioMessageFilter> filter(
|
| - new AudioMessageFilter(message_loop.task_runner()));
|
| -
|
| - MockAudioDelegate delegate;
|
| - const std::unique_ptr<media::AudioOutputIPC> ipc =
|
| - filter->CreateAudioOutputIPC(kRenderFrameId);
|
| - static const int kSessionId = 0;
|
| - static const std::string kDeviceId;
|
| - static const url::Origin kSecurityOrigin;
|
| - ipc->RequestDeviceAuthorization(&delegate, kSessionId, kDeviceId,
|
| - kSecurityOrigin);
|
| - ipc->CreateStream(&delegate, media::AudioParameters());
|
| - static const int kStreamId = 1;
|
| - EXPECT_EQ(&delegate, filter->delegates_.Lookup(kStreamId));
|
| -
|
| - // AudioMsg_NotifyDeviceAuthorized
|
| - EXPECT_FALSE(delegate.device_authorized_received());
|
| - filter->OnMessageReceived(AudioMsg_NotifyDeviceAuthorized(
|
| - kStreamId, media::OUTPUT_DEVICE_STATUS_OK, MockOutputParams(),
|
| - kEmptyMatchedDeviceId));
|
| - EXPECT_TRUE(delegate.device_authorized_received());
|
| - EXPECT_TRUE(delegate.output_params().Equals(MockOutputParams()));
|
| - delegate.Reset();
|
| -
|
| - // AudioMsg_NotifyStreamCreated
|
| - base::SyncSocket::TransitDescriptor socket_descriptor;
|
| - const uint32_t kLength = 1024;
|
| - EXPECT_FALSE(delegate.created_received());
|
| - filter->OnMessageReceived(AudioMsg_NotifyStreamCreated(
|
| - kStreamId, base::SharedMemory::NULLHandle(), socket_descriptor, kLength));
|
| - EXPECT_TRUE(delegate.created_received());
|
| - EXPECT_FALSE(base::SharedMemory::IsHandleValid(delegate.handle()));
|
| - EXPECT_EQ(kLength, delegate.length());
|
| - delegate.Reset();
|
| -
|
| - // AudioMsg_NotifyStreamStateChanged
|
| - EXPECT_FALSE(delegate.state_changed_received());
|
| - filter->OnMessageReceived(
|
| - AudioMsg_NotifyStreamStateChanged(
|
| - kStreamId, media::AUDIO_OUTPUT_IPC_DELEGATE_STATE_PLAYING));
|
| - EXPECT_TRUE(delegate.state_changed_received());
|
| - EXPECT_EQ(media::AUDIO_OUTPUT_IPC_DELEGATE_STATE_PLAYING, delegate.state());
|
| - delegate.Reset();
|
| -
|
| - ipc->CloseStream();
|
| - EXPECT_EQ(static_cast<media::AudioOutputIPCDelegate*>(NULL),
|
| - filter->delegates_.Lookup(kStreamId));
|
| -}
|
| -
|
| -TEST(AudioMessageFilterTest, Delegates) {
|
| - base::MessageLoopForIO message_loop;
|
| -
|
| - scoped_refptr<AudioMessageFilter> filter(
|
| - new AudioMessageFilter(message_loop.task_runner()));
|
| -
|
| - MockAudioDelegate delegate1;
|
| - MockAudioDelegate delegate2;
|
| - const std::unique_ptr<media::AudioOutputIPC> ipc1 =
|
| - filter->CreateAudioOutputIPC(kRenderFrameId);
|
| - const std::unique_ptr<media::AudioOutputIPC> ipc2 =
|
| - filter->CreateAudioOutputIPC(kRenderFrameId);
|
| - ipc1->CreateStream(&delegate1, media::AudioParameters());
|
| - ipc2->CreateStream(&delegate2, media::AudioParameters());
|
| - static const int kStreamId1 = 1;
|
| - static const int kStreamId2 = 2;
|
| - EXPECT_EQ(&delegate1, filter->delegates_.Lookup(kStreamId1));
|
| - EXPECT_EQ(&delegate2, filter->delegates_.Lookup(kStreamId2));
|
| -
|
| - // Send an IPC message. Make sure the correct delegate gets called.
|
| - EXPECT_FALSE(delegate1.state_changed_received());
|
| - EXPECT_FALSE(delegate2.state_changed_received());
|
| - filter->OnMessageReceived(
|
| - AudioMsg_NotifyStreamStateChanged(
|
| - kStreamId1, media::AUDIO_OUTPUT_IPC_DELEGATE_STATE_PLAYING));
|
| - EXPECT_TRUE(delegate1.state_changed_received());
|
| - EXPECT_FALSE(delegate2.state_changed_received());
|
| - delegate1.Reset();
|
| -
|
| - EXPECT_FALSE(delegate1.state_changed_received());
|
| - EXPECT_FALSE(delegate2.state_changed_received());
|
| - filter->OnMessageReceived(
|
| - AudioMsg_NotifyStreamStateChanged(
|
| - kStreamId2, media::AUDIO_OUTPUT_IPC_DELEGATE_STATE_PLAYING));
|
| - EXPECT_FALSE(delegate1.state_changed_received());
|
| - EXPECT_TRUE(delegate2.state_changed_received());
|
| - delegate2.Reset();
|
| -
|
| - base::RunLoop().RunUntilIdle();
|
| -
|
| - ipc1->CloseStream();
|
| - ipc2->CloseStream();
|
| - EXPECT_EQ(static_cast<media::AudioOutputIPCDelegate*>(NULL),
|
| - filter->delegates_.Lookup(kStreamId1));
|
| - EXPECT_EQ(static_cast<media::AudioOutputIPCDelegate*>(NULL),
|
| - filter->delegates_.Lookup(kStreamId2));
|
| -}
|
| -
|
| -} // namespace content
|
|
|