1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Copyright (c) 2013 Intel Corporation. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
6 #include "xwalk/tizen/renderer/renderer_mediaplayer_manager.h"
8 #include "xwalk/tizen/common/media_player_messages.h"
9 #include "xwalk/tizen/renderer/mediaplayer_impl.h"
13 RendererMediaPlayerManager::RendererMediaPlayerManager(
14 content::RenderView* render_view)
15 : content::RenderViewObserver(render_view),
16 next_media_player_id_(0) {
19 RendererMediaPlayerManager::~RendererMediaPlayerManager() {
20 std::map<MediaPlayerID, MediaPlayerImpl*>::iterator player_it;
21 for (player_it = media_players_.begin();
22 player_it != media_players_.end(); ++player_it) {
23 MediaPlayerImpl* player = player_it->second;
27 Send(new MediaPlayerHostMsg_DestroyAllMediaPlayers(routing_id()));
30 bool RendererMediaPlayerManager::OnMessageReceived(const IPC::Message& msg) {
32 IPC_BEGIN_MESSAGE_MAP(RendererMediaPlayerManager, msg)
33 IPC_MESSAGE_HANDLER(MediaPlayerMsg_MediaPlayerPlay, OnPlayerPlay)
34 IPC_MESSAGE_HANDLER(MediaPlayerMsg_MediaPlayerPause, OnPlayerPause)
35 IPC_MESSAGE_UNHANDLED(handled = false)
40 void RendererMediaPlayerManager::Initialize(
41 MediaPlayerID player_id,
44 Send(new MediaPlayerHostMsg_MediaPlayerInitialize(
45 routing_id(), player_id, process_id, url));
48 void RendererMediaPlayerManager::Start(MediaPlayerID player_id) {
49 Send(new MediaPlayerHostMsg_MediaPlayerStarted(routing_id(), player_id));
52 void RendererMediaPlayerManager::Pause(MediaPlayerID player_id) {
53 Send(new MediaPlayerHostMsg_MediaPlayerPaused(routing_id(), player_id));
56 void RendererMediaPlayerManager::DestroyPlayer(MediaPlayerID player_id) {
57 Send(new MediaPlayerHostMsg_DestroyMediaPlayer(routing_id(), player_id));
60 MediaPlayerID RendererMediaPlayerManager::RegisterMediaPlayer(
61 MediaPlayerImpl* player) {
62 media_players_[next_media_player_id_] = player;
64 return next_media_player_id_++;
67 void RendererMediaPlayerManager::UnregisterMediaPlayer(
68 MediaPlayerID player_id) {
69 media_players_.erase(player_id);
72 MediaPlayerImpl* RendererMediaPlayerManager::GetMediaPlayer(
73 MediaPlayerID player_id) {
74 std::map<MediaPlayerID, MediaPlayerImpl*>::iterator iter =
75 media_players_.find(player_id);
76 if (iter != media_players_.end())
82 void RendererMediaPlayerManager::OnPlayerPlay(MediaPlayerID player_id) {
83 if (MediaPlayerImpl* player = GetMediaPlayer(player_id))
87 void RendererMediaPlayerManager::OnPlayerPause(MediaPlayerID player_id) {
88 if (MediaPlayerImpl* player = GetMediaPlayer(player_id))