Upstream version 11.39.250.0
[platform/framework/web/crosswalk.git] / src / media / base / android / media_player_listener.h
index 698493b..018a5d6 100644 (file)
 #include "base/memory/weak_ptr.h"
 
 namespace base {
-class MessageLoopProxy;
+class SingleThreadTaskRunner;
 }
 
 namespace media {
 
-class MediaPlayerBridge;
+class MediaPlayerAndroid;
 
 // Acts as a thread proxy between java MediaPlayerListener object and
-// MediaPlayerBridge so that callbacks are posted onto the UI thread.
+// MediaPlayerAndroid so that callbacks are posted onto the UI thread.
 class MediaPlayerListener {
  public:
   // Construct a native MediaPlayerListener object. Callbacks from the java
   // side object will be forwarded to |media_player| by posting a task on the
-  // |message_loop|.
+  // |task_runner|.
   MediaPlayerListener(
-      const scoped_refptr<base::MessageLoopProxy>& message_loop,
-      base::WeakPtr<MediaPlayerBridge> media_player);
+      const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
+      base::WeakPtr<MediaPlayerAndroid> media_player);
  virtual ~MediaPlayerListener();
 
   // Called by the Java MediaPlayerListener and mirrored to corresponding
@@ -42,8 +42,10 @@ class MediaPlayerListener {
   void OnMediaPrepared(JNIEnv* /* env */, jobject /* obj */);
   void OnMediaInterrupted(JNIEnv* /* env */, jobject /* obj */);
 
-  // Create a Java MediaPlayerListener object.
-  void CreateMediaPlayerListener(jobject context, jobject media_player_bridge);
+  // Create a Java MediaPlayerListener object and listens to all the media
+  // related events from system and |media_player|. If |media_player| is NULL,
+  // this class only listens to system events.
+  void CreateMediaPlayerListener(jobject context, jobject media_player);
   void ReleaseMediaPlayerListenerResources();
 
   // Register MediaPlayerListener in the system library loader.
@@ -51,10 +53,10 @@ class MediaPlayerListener {
 
  private:
   // The message loop where |media_player_| lives.
-  scoped_refptr<base::MessageLoopProxy> message_loop_;
+  scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
 
-  // The MediaPlayerBridge object all the callbacks should be send to.
-  base::WeakPtr<MediaPlayerBridge> media_player_;
+  // The MediaPlayerAndroid object all the callbacks should be sent to.
+  base::WeakPtr<MediaPlayerAndroid> media_player_;
 
   base::android::ScopedJavaGlobalRef<jobject> j_media_player_listener_;