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

Side by Side Diff: content/browser/android/browser_demuxer_android.cc

Issue 23494040: Split media::DemuxerAndroid implementation of BrowserMediaPlayerManager to BrowserDemuxerAndroid. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "content/browser/android/browser_demuxer_android.h"
6
7 #include "content/common/media/media_player_messages_android.h"
8
9 namespace content {
10
11 BrowserDemuxerAndroid::BrowserDemuxerAndroid(RenderViewHost* rvh)
12 : RenderViewHostObserver(rvh) {}
13
14 BrowserDemuxerAndroid::~BrowserDemuxerAndroid() {}
15
16 bool BrowserDemuxerAndroid::OnMessageReceived(const IPC::Message& msg) {
17 bool handled = true;
18 IPC_BEGIN_MESSAGE_MAP(BrowserDemuxerAndroid, msg)
19 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DemuxerReady, OnDemuxerReady)
20 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_ReadFromDemuxerAck,
21 OnReadFromDemuxerAck)
22 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DurationChanged,
23 OnDurationChanged)
24 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaSeekRequestAck,
25 OnMediaSeekRequestAck)
26 IPC_MESSAGE_UNHANDLED(handled = false)
27 IPC_END_MESSAGE_MAP()
28 return handled;
29 }
30
31 void BrowserDemuxerAndroid::AddDemuxerClient(
32 int demuxer_client_id,
33 media::DemuxerAndroidClient* client) {
34 demuxer_clients_.AddWithID(client, demuxer_client_id);
35 }
36
37 void BrowserDemuxerAndroid::RemoveDemuxerClient(int demuxer_client_id) {
38 demuxer_clients_.Remove(demuxer_client_id);
39 }
40
41 void BrowserDemuxerAndroid::RequestDemuxerData(
42 int demuxer_client_id, media::DemuxerStream::Type type) {
43 DCHECK(demuxer_clients_.Lookup(demuxer_client_id)) << demuxer_client_id;
44 Send(new MediaPlayerMsg_ReadFromDemuxer(
45 routing_id(), demuxer_client_id, type));
46 }
47
48 void BrowserDemuxerAndroid::RequestDemuxerSeek(int demuxer_client_id,
49 base::TimeDelta time_to_seek,
50 unsigned seek_request_id) {
51 DCHECK(demuxer_clients_.Lookup(demuxer_client_id)) << demuxer_client_id;
52 Send(new MediaPlayerMsg_MediaSeekRequest(
53 routing_id(), demuxer_client_id, time_to_seek, seek_request_id));
54 }
55
56 void BrowserDemuxerAndroid::RequestDemuxerConfigs(int demuxer_client_id) {
57 DCHECK(demuxer_clients_.Lookup(demuxer_client_id)) << demuxer_client_id;
58 Send(new MediaPlayerMsg_MediaConfigRequest(routing_id(), demuxer_client_id));
59 }
60
61 void BrowserDemuxerAndroid::OnDemuxerReady(
62 int demuxer_client_id,
63 const media::DemuxerConfigs& configs) {
64 media::DemuxerAndroidClient* client =
65 demuxer_clients_.Lookup(demuxer_client_id);
66 if (client)
67 client->OnDemuxerConfigsAvailable(configs);
68 }
69
70 void BrowserDemuxerAndroid::OnReadFromDemuxerAck(
71 int demuxer_client_id,
72 const media::DemuxerData& data) {
73 media::DemuxerAndroidClient* client =
74 demuxer_clients_.Lookup(demuxer_client_id);
75 if (client)
76 client->OnDemuxerDataAvailable(data);
77 }
78
79 void BrowserDemuxerAndroid::OnMediaSeekRequestAck(int demuxer_client_id,
80 unsigned seek_request_id) {
81 media::DemuxerAndroidClient* client =
82 demuxer_clients_.Lookup(demuxer_client_id);
83 if (client)
84 client->OnDemuxerSeeked(seek_request_id);
85 }
86
87 void BrowserDemuxerAndroid::OnDurationChanged(int demuxer_client_id,
88 const base::TimeDelta& duration) {
89 media::DemuxerAndroidClient* client =
90 demuxer_clients_.Lookup(demuxer_client_id);
91 if (client)
92 client->OnDemuxerDurationChanged(duration);
93 }
94
95 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/android/browser_demuxer_android.h ('k') | content/browser/android/browser_media_player_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698