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

Side by Side Diff: media/base/android/media_player_android.cc

Issue 1128383003: Implementation of MediaCodecPlayer stage 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed Min comments, added DCHECKs for current threads Created 5 years, 7 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "media/base/android/media_player_android.h" 5 #include "media/base/android/media_player_android.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/single_thread_task_runner.h" 9 #include "base/single_thread_task_runner.h"
10 #include "base/thread_task_runner_handle.h" 10 #include "base/thread_task_runner_handle.h"
11 #include "media/base/android/media_drm_bridge.h" 11 #include "media/base/android/media_drm_bridge.h"
12 #include "media/base/android/media_player_manager.h" 12 #include "media/base/android/media_player_manager.h"
13 13
14 namespace media { 14 namespace media {
15 15
16 MediaPlayerAndroid::MediaPlayerAndroid( 16 MediaPlayerAndroid::MediaPlayerAndroid(
17 int player_id, 17 int player_id,
18 MediaPlayerManager* manager, 18 MediaPlayerManager* manager,
19 const RequestMediaResourcesCB& request_media_resources_cb, 19 const RequestMediaResourcesCB& request_media_resources_cb,
20 const GURL& frame_url) 20 const GURL& frame_url)
21 : request_media_resources_cb_(request_media_resources_cb), 21 : request_media_resources_cb_(request_media_resources_cb),
22 player_id_(player_id), 22 player_id_(player_id),
23 manager_(manager), 23 manager_(manager),
24 frame_url_(frame_url), 24 frame_url_(frame_url),
25 is_audible_(false), 25 is_audible_(false),
26 weak_factory_(this) { 26 weak_factory_(this) {
27 weak_ptr_for_ui_thread_ = weak_factory_.GetWeakPtr();
27 listener_.reset(new MediaPlayerListener(base::ThreadTaskRunnerHandle::Get(), 28 listener_.reset(new MediaPlayerListener(base::ThreadTaskRunnerHandle::Get(),
28 weak_factory_.GetWeakPtr())); 29 weak_ptr_for_ui_thread_));
29 } 30 }
30 31
31 MediaPlayerAndroid::~MediaPlayerAndroid() {} 32 MediaPlayerAndroid::~MediaPlayerAndroid() {}
32 33
33 // For most subclasses we can delete on the caller thread. 34 // For most subclasses we can delete on the caller thread.
34 void MediaPlayerAndroid::DeleteOnCorrectThread() { 35 void MediaPlayerAndroid::DeleteOnCorrectThread() {
35 delete this; 36 delete this;
36 } 37 }
37 38
38 GURL MediaPlayerAndroid::GetUrl() { 39 GURL MediaPlayerAndroid::GetUrl() {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 82
82 listener_->CreateMediaPlayerListener(j_context, j_media_player); 83 listener_->CreateMediaPlayerListener(j_context, j_media_player);
83 } 84 }
84 85
85 void MediaPlayerAndroid::DetachListener() { 86 void MediaPlayerAndroid::DetachListener() {
86 listener_->ReleaseMediaPlayerListenerResources(); 87 listener_->ReleaseMediaPlayerListenerResources();
87 } 88 }
88 89
89 void MediaPlayerAndroid::DestroyListenerOnUIThread() { 90 void MediaPlayerAndroid::DestroyListenerOnUIThread() {
90 weak_factory_.InvalidateWeakPtrs(); 91 weak_factory_.InvalidateWeakPtrs();
92 weak_ptr_for_ui_thread_.reset();
91 listener_.reset(); 93 listener_.reset();
92 } 94 }
93 95
94 void MediaPlayerAndroid::SetAudible(bool is_audible) { 96 void MediaPlayerAndroid::SetAudible(bool is_audible) {
95 if (is_audible_ != is_audible) { 97 if (is_audible_ != is_audible) {
96 is_audible_ = is_audible; 98 is_audible_ = is_audible;
97 manager_->OnAudibleStateChanged(player_id(), is_audible_); 99 manager_->OnAudibleStateChanged(player_id(), is_audible_);
98 } 100 }
99 } 101 }
100 102
101 } // namespace media 103 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698