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

Side by Side Diff: content/renderer/media/android/renderer_demuxer_android.cc

Issue 508293003: Change media MessageLoopProxy usage to SingleThreadTaskRunners. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/media/android/renderer_demuxer_android.h" 5 #include "content/renderer/media/android/renderer_demuxer_android.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/single_thread_task_runner.h"
9 #include "base/message_loop/message_loop_proxy.h"
10 #include "content/child/thread_safe_sender.h" 9 #include "content/child/thread_safe_sender.h"
11 #include "content/common/media/media_player_messages_android.h" 10 #include "content/common/media/media_player_messages_android.h"
12 #include "content/renderer/media/android/media_source_delegate.h" 11 #include "content/renderer/media/android/media_source_delegate.h"
13 #include "content/renderer/media/android/renderer_media_player_manager.h" 12 #include "content/renderer/media/android/renderer_media_player_manager.h"
14 #include "content/renderer/media/android/webmediaplayer_android.h" 13 #include "content/renderer/media/android/webmediaplayer_android.h"
15 #include "content/renderer/render_thread_impl.h" 14 #include "content/renderer/render_thread_impl.h"
16 15
17 namespace content { 16 namespace content {
18 17
19 RendererDemuxerAndroid::RendererDemuxerAndroid() 18 RendererDemuxerAndroid::RendererDemuxerAndroid()
20 : thread_safe_sender_(RenderThreadImpl::current()->thread_safe_sender()), 19 : thread_safe_sender_(RenderThreadImpl::current()->thread_safe_sender()),
21 media_message_loop_( 20 media_task_runner_(
22 RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy()) {} 21 RenderThreadImpl::current()->GetMediaThreadTaskRunner()) {}
23 22
24 RendererDemuxerAndroid::~RendererDemuxerAndroid() {} 23 RendererDemuxerAndroid::~RendererDemuxerAndroid() {}
25 24
26 int RendererDemuxerAndroid::GetNextDemuxerClientID() { 25 int RendererDemuxerAndroid::GetNextDemuxerClientID() {
27 // Don't use zero for IDs since it can be interpreted as having no ID. 26 // Don't use zero for IDs since it can be interpreted as having no ID.
28 return next_demuxer_client_id_.GetNext() + 1; 27 return next_demuxer_client_id_.GetNext() + 1;
29 } 28 }
30 29
31 void RendererDemuxerAndroid::AddDelegate(int demuxer_client_id, 30 void RendererDemuxerAndroid::AddDelegate(int demuxer_client_id,
32 MediaSourceDelegate* delegate) { 31 MediaSourceDelegate* delegate) {
33 DCHECK(media_message_loop_->BelongsToCurrentThread()); 32 DCHECK(media_task_runner_->BelongsToCurrentThread());
34 delegates_.AddWithID(delegate, demuxer_client_id); 33 delegates_.AddWithID(delegate, demuxer_client_id);
35 } 34 }
36 35
37 void RendererDemuxerAndroid::RemoveDelegate(int demuxer_client_id) { 36 void RendererDemuxerAndroid::RemoveDelegate(int demuxer_client_id) {
38 DCHECK(media_message_loop_->BelongsToCurrentThread()); 37 DCHECK(media_task_runner_->BelongsToCurrentThread());
39 delegates_.Remove(demuxer_client_id); 38 delegates_.Remove(demuxer_client_id);
40 } 39 }
41 40
42 bool RendererDemuxerAndroid::OnMessageReceived(const IPC::Message& message) { 41 bool RendererDemuxerAndroid::OnMessageReceived(const IPC::Message& message) {
43 switch (message.type()) { 42 switch (message.type()) {
44 case MediaPlayerMsg_DemuxerSeekRequest::ID: 43 case MediaPlayerMsg_DemuxerSeekRequest::ID:
45 case MediaPlayerMsg_ReadFromDemuxer::ID: 44 case MediaPlayerMsg_ReadFromDemuxer::ID:
46 media_message_loop_->PostTask(FROM_HERE, base::Bind( 45 media_task_runner_->PostTask(FROM_HERE, base::Bind(
47 &RendererDemuxerAndroid::DispatchMessage, this, message)); 46 &RendererDemuxerAndroid::DispatchMessage, this, message));
48 return true; 47 return true;
49 } 48 }
50 return false; 49 return false;
51 } 50 }
52 51
53 void RendererDemuxerAndroid::DemuxerReady( 52 void RendererDemuxerAndroid::DemuxerReady(
54 int demuxer_client_id, 53 int demuxer_client_id,
55 const media::DemuxerConfigs& configs) { 54 const media::DemuxerConfigs& configs) {
56 thread_safe_sender_->Send(new MediaPlayerHostMsg_DemuxerReady( 55 thread_safe_sender_->Send(new MediaPlayerHostMsg_DemuxerReady(
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 void RendererDemuxerAndroid::OnDemuxerSeekRequest( 94 void RendererDemuxerAndroid::OnDemuxerSeekRequest(
96 int demuxer_client_id, 95 int demuxer_client_id,
97 const base::TimeDelta& time_to_seek, 96 const base::TimeDelta& time_to_seek,
98 bool is_browser_seek) { 97 bool is_browser_seek) {
99 MediaSourceDelegate* delegate = delegates_.Lookup(demuxer_client_id); 98 MediaSourceDelegate* delegate = delegates_.Lookup(demuxer_client_id);
100 if (delegate) 99 if (delegate)
101 delegate->Seek(time_to_seek, is_browser_seek); 100 delegate->Seek(time_to_seek, is_browser_seek);
102 } 101 }
103 102
104 } // namespace content 103 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/android/renderer_demuxer_android.h ('k') | content/renderer/media/android/webmediaplayer_android.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698