OLD | NEW |
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" |
(...skipping 12 matching lines...) Expand all Loading... |
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 listener_.reset(new MediaPlayerListener(base::ThreadTaskRunnerHandle::Get(), | 27 listener_.reset(new MediaPlayerListener(base::ThreadTaskRunnerHandle::Get(), |
28 weak_factory_.GetWeakPtr())); | 28 weak_factory_.GetWeakPtr())); |
29 } | 29 } |
30 | 30 |
31 MediaPlayerAndroid::~MediaPlayerAndroid() {} | 31 MediaPlayerAndroid::~MediaPlayerAndroid() {} |
32 | 32 |
| 33 // For most subclasses we can delete on the caller thread. |
| 34 void MediaPlayerAndroid::DeleteOnCorrectThread() { |
| 35 delete this; |
| 36 } |
| 37 |
33 GURL MediaPlayerAndroid::GetUrl() { | 38 GURL MediaPlayerAndroid::GetUrl() { |
34 return GURL(); | 39 return GURL(); |
35 } | 40 } |
36 | 41 |
37 GURL MediaPlayerAndroid::GetFirstPartyForCookies() { | 42 GURL MediaPlayerAndroid::GetFirstPartyForCookies() { |
38 return GURL(); | 43 return GURL(); |
39 } | 44 } |
40 | 45 |
41 void MediaPlayerAndroid::SetCdm(BrowserCdm* /* cdm */) { | 46 void MediaPlayerAndroid::SetCdm(BrowserCdm* /* cdm */) { |
42 // Players that support EME should override this. | 47 // Players that support EME should override this. |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 jobject j_context = base::android::GetApplicationContext(); | 79 jobject j_context = base::android::GetApplicationContext(); |
75 DCHECK(j_context); | 80 DCHECK(j_context); |
76 | 81 |
77 listener_->CreateMediaPlayerListener(j_context, j_media_player); | 82 listener_->CreateMediaPlayerListener(j_context, j_media_player); |
78 } | 83 } |
79 | 84 |
80 void MediaPlayerAndroid::DetachListener() { | 85 void MediaPlayerAndroid::DetachListener() { |
81 listener_->ReleaseMediaPlayerListenerResources(); | 86 listener_->ReleaseMediaPlayerListenerResources(); |
82 } | 87 } |
83 | 88 |
| 89 void MediaPlayerAndroid::DestroyListenerOnUIThread() { |
| 90 weak_factory_.InvalidateWeakPtrs(); |
| 91 listener_.reset(); |
| 92 } |
| 93 |
84 void MediaPlayerAndroid::SetAudible(bool is_audible) { | 94 void MediaPlayerAndroid::SetAudible(bool is_audible) { |
85 if (is_audible_ != is_audible) { | 95 if (is_audible_ != is_audible) { |
86 is_audible_ = is_audible; | 96 is_audible_ = is_audible; |
87 manager_->OnAudibleStateChanged(player_id(), is_audible_); | 97 manager_->OnAudibleStateChanged(player_id(), is_audible_); |
88 } | 98 } |
89 } | 99 } |
90 | 100 |
91 } // namespace media | 101 } // namespace media |
OLD | NEW |