Index: chromecast/renderer/media/cma_message_filter_proxy.cc |
diff --git a/chromecast/renderer/media/cma_message_filter_proxy.cc b/chromecast/renderer/media/cma_message_filter_proxy.cc |
deleted file mode 100644 |
index d03213b5ca77f3b8c4dc43636a7cac5368158373..0000000000000000000000000000000000000000 |
--- a/chromecast/renderer/media/cma_message_filter_proxy.cc |
+++ /dev/null |
@@ -1,281 +0,0 @@ |
-// Copyright 2014 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 "chromecast/renderer/media/cma_message_filter_proxy.h" |
- |
-#include "base/bind.h" |
-#include "base/single_thread_task_runner.h" |
-#include "base/time/time.h" |
-#include "chromecast/common/media/cma_messages.h" |
-#include "ipc/ipc_logging.h" |
-#include "ipc/ipc_sender.h" |
- |
-namespace chromecast { |
-namespace media { |
- |
-CmaMessageFilterProxy::MediaDelegate::MediaDelegate() { |
-} |
- |
-CmaMessageFilterProxy::MediaDelegate::~MediaDelegate() { |
-} |
- |
-CmaMessageFilterProxy::AudioDelegate::AudioDelegate() { |
-} |
- |
-CmaMessageFilterProxy::AudioDelegate::~AudioDelegate() { |
-} |
- |
-CmaMessageFilterProxy::VideoDelegate::VideoDelegate() { |
-} |
- |
-CmaMessageFilterProxy::VideoDelegate::~VideoDelegate() { |
-} |
- |
-CmaMessageFilterProxy::DelegateEntry::DelegateEntry() { |
-} |
- |
-CmaMessageFilterProxy::DelegateEntry::~DelegateEntry() { |
-} |
- |
-CmaMessageFilterProxy* CmaMessageFilterProxy::filter_ = NULL; |
- |
-// static |
-CmaMessageFilterProxy* CmaMessageFilterProxy::Get() { |
- return filter_; |
-} |
- |
-CmaMessageFilterProxy::CmaMessageFilterProxy( |
- const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner) |
- : sender_(NULL), io_task_runner_(io_task_runner) { |
- DCHECK(!filter_); |
- filter_ = this; |
-} |
- |
-int CmaMessageFilterProxy::CreateChannel() { |
- DCHECK(io_task_runner_->BelongsToCurrentThread()); |
- DelegateEntry* entry = new DelegateEntry(); |
- int id = delegates_.Add(entry); |
- return id; |
-} |
- |
-void CmaMessageFilterProxy::DestroyChannel(int id) { |
- DCHECK(io_task_runner_->BelongsToCurrentThread()); |
- DelegateEntry* entry = delegates_.Lookup(id); |
- if (!entry) |
- return; |
- delegates_.Remove(id); |
- delete entry; |
-} |
- |
-bool CmaMessageFilterProxy::SetMediaDelegate( |
- int id, const MediaDelegate& media_delegate) { |
- DCHECK(io_task_runner_->BelongsToCurrentThread()); |
- DelegateEntry* entry = delegates_.Lookup(id); |
- if (!entry) |
- return false; |
- entry->media_delegate = media_delegate; |
- return true; |
-} |
- |
-bool CmaMessageFilterProxy::SetAudioDelegate( |
- int id, const AudioDelegate& audio_delegate) { |
- DCHECK(io_task_runner_->BelongsToCurrentThread()); |
- DelegateEntry* entry = delegates_.Lookup(id); |
- if (!entry) |
- return false; |
- entry->audio_delegate = audio_delegate; |
- return true; |
-} |
- |
-bool CmaMessageFilterProxy::SetVideoDelegate( |
- int id, const VideoDelegate& video_delegate) { |
- DCHECK(io_task_runner_->BelongsToCurrentThread()); |
- DelegateEntry* entry = delegates_.Lookup(id); |
- if (!entry) |
- return false; |
- entry->video_delegate = video_delegate; |
- return true; |
-} |
- |
-bool CmaMessageFilterProxy::Send(std::unique_ptr<IPC::Message> message) { |
- DCHECK(io_task_runner_->BelongsToCurrentThread()); |
- if (!sender_) |
- return false; |
- bool status = sender_->Send(message.release()); |
- return status; |
-} |
- |
-bool CmaMessageFilterProxy::OnMessageReceived(const IPC::Message& message) { |
- bool handled = true; |
- IPC_BEGIN_MESSAGE_MAP(CmaMessageFilterProxy, message) |
- IPC_MESSAGE_HANDLER(CmaMsg_AvPipeCreated, OnAvPipeCreated) |
- IPC_MESSAGE_HANDLER(CmaMsg_NotifyPipeRead, OnPipeRead) |
- IPC_MESSAGE_HANDLER(CmaMsg_FlushDone, OnFlushDone) |
- IPC_MESSAGE_HANDLER(CmaMsg_TrackStateChanged, OnTrackStateChanged) |
- IPC_MESSAGE_HANDLER(CmaMsg_WaitForKey, OnWaitForKey) |
- IPC_MESSAGE_HANDLER(CmaMsg_Eos, OnEos) |
- IPC_MESSAGE_HANDLER(CmaMsg_TimeUpdate, OnTimeUpdate) |
- IPC_MESSAGE_HANDLER(CmaMsg_BufferingNotification, OnBufferingNotification) |
- IPC_MESSAGE_HANDLER(CmaMsg_PlaybackError, OnPlaybackError) |
- IPC_MESSAGE_HANDLER(CmaMsg_PlaybackStatistics, OnStatisticsUpdated) |
- IPC_MESSAGE_HANDLER(CmaMsg_NaturalSizeChanged, OnNaturalSizeChanged) |
- IPC_MESSAGE_UNHANDLED(handled = false) |
- IPC_END_MESSAGE_MAP() |
- return handled; |
-} |
- |
-void CmaMessageFilterProxy::OnFilterAdded(IPC::Sender* sender) { |
- sender_ = sender; |
-} |
- |
-void CmaMessageFilterProxy::OnFilterRemoved() { |
- sender_ = NULL; |
-} |
- |
-void CmaMessageFilterProxy::OnChannelClosing() { |
- sender_ = NULL; |
-} |
- |
-CmaMessageFilterProxy::~CmaMessageFilterProxy() { |
- DCHECK(filter_); |
- filter_ = NULL; |
-} |
- |
-void CmaMessageFilterProxy::OnAvPipeCreated( |
- int id, |
- TrackId track_id, |
- bool status, |
- base::SharedMemoryHandle shared_memory_handle, |
- base::FileDescriptor socket_handle) { |
- DelegateEntry* entry = delegates_.Lookup(id); |
- if (!entry) |
- return; |
- const AvPipeCB& cb = (track_id == kAudioTrackId) ? |
- entry->audio_delegate.av_pipe_cb : |
- entry->video_delegate.av_pipe_cb; |
- if (!cb.is_null()) |
- cb.Run(status, shared_memory_handle, socket_handle); |
-} |
- |
-void CmaMessageFilterProxy::OnPipeRead( |
- int id, TrackId track_id) { |
- DelegateEntry* entry = delegates_.Lookup(id); |
- if (!entry) |
- return; |
- const base::Closure& cb = (track_id == kAudioTrackId) ? |
- entry->audio_delegate.pipe_read_cb : |
- entry->video_delegate.pipe_read_cb; |
- if (!cb.is_null()) |
- cb.Run(); |
-} |
- |
-void CmaMessageFilterProxy::OnFlushDone(int id) { |
- DelegateEntry* entry = delegates_.Lookup(id); |
- if (!entry) |
- return; |
- const base::Closure& cb = entry->media_delegate.flush_cb; |
- if (!cb.is_null()) |
- cb.Run(); |
-} |
- |
-void CmaMessageFilterProxy::OnTrackStateChanged( |
- int id, TrackId track_id, ::media::PipelineStatus status) { |
- DelegateEntry* entry = delegates_.Lookup(id); |
- if (!entry) |
- return; |
- const ::media::PipelineStatusCB& cb = (track_id == kAudioTrackId) ? |
- entry->audio_delegate.state_changed_cb : |
- entry->video_delegate.state_changed_cb; |
- if (!cb.is_null()) |
- cb.Run(status); |
-} |
- |
-void CmaMessageFilterProxy::OnWaitForKey(int id, TrackId track_id) { |
- DelegateEntry* entry = delegates_.Lookup(id); |
- if (!entry) |
- return; |
- const base::Closure& cb = (track_id == kAudioTrackId) ? |
- entry->audio_delegate.client.wait_for_key_cb : |
- entry->video_delegate.client.av_pipeline_client.wait_for_key_cb; |
- if (!cb.is_null()) |
- cb.Run(); |
-} |
- |
-void CmaMessageFilterProxy::OnEos(int id, TrackId track_id) { |
- DelegateEntry* entry = delegates_.Lookup(id); |
- if (!entry) |
- return; |
- const base::Closure& cb = (track_id == kAudioTrackId) ? |
- entry->audio_delegate.client.eos_cb : |
- entry->video_delegate.client.av_pipeline_client.eos_cb; |
- if (!cb.is_null()) |
- cb.Run(); |
-} |
- |
-void CmaMessageFilterProxy::OnTimeUpdate( |
- int id, |
- base::TimeDelta time, |
- base::TimeDelta max_time, |
- base::TimeTicks stc) { |
- DelegateEntry* entry = delegates_.Lookup(id); |
- if (!entry) |
- return; |
- const MediaPipelineClient::TimeUpdateCB& cb = |
- entry->media_delegate.client.time_update_cb; |
- if (!cb.is_null()) |
- cb.Run(time, max_time, stc); |
-} |
- |
-void CmaMessageFilterProxy::OnBufferingNotification( |
- int id, ::media::BufferingState buffering_state) { |
- DelegateEntry* entry = delegates_.Lookup(id); |
- if (!entry) |
- return; |
- const ::media::BufferingStateCB& cb = |
- entry->media_delegate.client.buffering_state_cb; |
- if (!cb.is_null()) |
- cb.Run(buffering_state); |
-} |
- |
-void CmaMessageFilterProxy::OnPlaybackError( |
- int id, TrackId track_id, ::media::PipelineStatus status) { |
- DelegateEntry* entry = delegates_.Lookup(id); |
- if (!entry) |
- return; |
- const ::media::PipelineStatusCB& cb = |
- (track_id == kNoTrackId) ? entry->media_delegate.client.error_cb : |
- (track_id == kAudioTrackId) ? |
- entry->audio_delegate.client.playback_error_cb : |
- entry->video_delegate.client.av_pipeline_client.playback_error_cb; |
- if (!cb.is_null()) |
- cb.Run(status); |
-} |
- |
-void CmaMessageFilterProxy::OnStatisticsUpdated( |
- int id, TrackId track_id, const ::media::PipelineStatistics& stats) { |
- DelegateEntry* entry = delegates_.Lookup(id); |
- if (!entry) |
- return; |
- const ::media::StatisticsCB& cb = (track_id == kAudioTrackId) ? |
- entry->audio_delegate.client.statistics_cb : |
- entry->video_delegate.client.av_pipeline_client.statistics_cb; |
- if (!cb.is_null()) |
- cb.Run(stats); |
-} |
- |
-void CmaMessageFilterProxy::OnNaturalSizeChanged( |
- int id, TrackId track_id, const gfx::Size& size) { |
- DelegateEntry* entry = delegates_.Lookup(id); |
- if (!entry) |
- return; |
- if (track_id == kAudioTrackId) |
- return; |
- const VideoPipelineClient::NaturalSizeChangedCB& cb = |
- entry->video_delegate.client.natural_size_changed_cb; |
- if (!cb.is_null()) |
- cb.Run(size); |
-} |
- |
-} // namespace media |
-} // namespace chromecast |