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

Unified Diff: media/base/android/media_player_android.h

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 side-by-side diff with in-line comments
Download patch
Index: media/base/android/media_player_android.h
diff --git a/media/base/android/media_player_android.h b/media/base/android/media_player_android.h
index 8928222156bc3078098507ac81452009c0d44185..e02b2a27f3d4f9e868a879b2045cd67b1dc485a8 100644
--- a/media/base/android/media_player_android.h
+++ b/media/base/android/media_player_android.h
@@ -83,6 +83,12 @@ class MEDIA_EXPORT MediaPlayerAndroid {
GURL frame_url() { return frame_url_; }
+ // Attach/Detaches |listener_| for listening to all the media events. If
+ // |j_media_player| is NULL, |listener_| only listens to the system media
+ // events. Otherwise, it also listens to the events from |j_media_player|.
+ void AttachListener(jobject j_media_player);
+ void DetachListener();
+
protected:
MediaPlayerAndroid(int player_id,
MediaPlayerManager* manager,
@@ -101,12 +107,6 @@ class MEDIA_EXPORT MediaPlayerAndroid {
virtual void OnSeekComplete();
virtual void OnMediaPrepared();
- // Attach/Detaches |listener_| for listening to all the media events. If
- // |j_media_player| is NULL, |listener_| only listens to the system media
- // events. Otherwise, it also listens to the events from |j_media_player|.
- void AttachListener(jobject j_media_player);
- void DetachListener();
-
// When destroying a subclassed object on a non-UI thread
// it is still required to destroy the |listener_| related stuff
// on the UI thread.
@@ -115,6 +115,10 @@ class MEDIA_EXPORT MediaPlayerAndroid {
MediaPlayerManager* manager() { return manager_; }
+ base::WeakPtr<MediaPlayerAndroid> weak_ptr_for_ui_thread() {
+ return weak_ptr_for_ui_thread_;
qinmin 2015/05/13 23:17:32 cannot we just return weak_factory_.GetWeakPtr() ?
Tima Vaisburd 2015/05/14 00:14:59 Yes, I had wrong ideas about what thread that poin
+ }
+
RequestMediaResourcesCB request_media_resources_cb_;
private:
@@ -135,6 +139,9 @@ class MEDIA_EXPORT MediaPlayerAndroid {
// Maintains the audible state of the player, true if it is playing sound.
bool is_audible_;
+ // We use this pointer when we post task from Media thread
+ base::WeakPtr<MediaPlayerAndroid> weak_ptr_for_ui_thread_;
+
// Weak pointer passed to |listener_| for callbacks.
// NOTE: Weak pointers must be invalidated before all other member variables.
base::WeakPtrFactory<MediaPlayerAndroid> weak_factory_;

Powered by Google App Engine
This is Rietveld 408576698