Index: media/base/android/media_player_android.cc |
diff --git a/media/base/android/media_player_android.cc b/media/base/android/media_player_android.cc |
index 1fcd90c780c7a48ef42cf7205ff51e4749409592..954ba96c70d2f67d487daa923774e10d112ffe8b 100644 |
--- a/media/base/android/media_player_android.cc |
+++ b/media/base/android/media_player_android.cc |
@@ -4,7 +4,9 @@ |
#include "media/base/android/media_player_android.h" |
+#include "base/android/jni_android.h" |
#include "base/logging.h" |
+#include "base/message_loop/message_loop_proxy.h" |
#include "media/base/android/media_drm_bridge.h" |
#include "media/base/android/media_player_manager.h" |
@@ -18,7 +20,10 @@ MediaPlayerAndroid::MediaPlayerAndroid( |
: request_media_resources_cb_(request_media_resources_cb), |
player_id_(player_id), |
manager_(manager), |
- frame_url_(frame_url) { |
+ frame_url_(frame_url), |
+ weak_factory_(this) { |
+ listener_.reset(new MediaPlayerListener(base::MessageLoopProxy::current(), |
+ weak_factory_.GetWeakPtr())); |
} |
MediaPlayerAndroid::~MediaPlayerAndroid() {} |
@@ -37,4 +42,42 @@ void MediaPlayerAndroid::SetCdm(BrowserCdm* /* cdm */) { |
return; |
} |
+void MediaPlayerAndroid::OnVideoSizeChanged(int width, int height) { |
+ manager_->OnVideoSizeChanged(player_id(), width, height); |
+} |
+ |
+void MediaPlayerAndroid::OnMediaError(int error_type) { |
+ manager_->OnError(player_id(), error_type); |
+} |
+ |
+void MediaPlayerAndroid::OnBufferingUpdate(int percent) { |
+ manager_->OnBufferingUpdate(player_id(), percent); |
+} |
+ |
+void MediaPlayerAndroid::OnPlaybackComplete() { |
+ manager_->OnPlaybackComplete(player_id()); |
+} |
+ |
+void MediaPlayerAndroid::OnMediaInterrupted() { |
+ manager_->OnMediaInterrupted(player_id()); |
+} |
+ |
+void MediaPlayerAndroid::OnSeekComplete() { |
+ manager_->OnSeekComplete(player_id(), GetCurrentTime()); |
+} |
+ |
+void MediaPlayerAndroid::OnMediaPrepared() {} |
+ |
+void MediaPlayerAndroid::AttachListener(jobject j_media_player) { |
+ jobject j_context = base::android::GetApplicationContext(); |
+ DCHECK(j_context); |
+ |
+ listener_->CreateMediaPlayerListener(j_context, j_media_player); |
+} |
+ |
+void MediaPlayerAndroid::DetachListener() { |
+ listener_->ReleaseMediaPlayerListenerResources(); |
+} |
+ |
+ |
} // namespace media |