Chromium Code Reviews| Index: media/base/android/media_player_listener.cc |
| diff --git a/media/base/android/media_player_listener.cc b/media/base/android/media_player_listener.cc |
| index de1820190c7b8efe8d649e0ed0fd8f02d5a6f1e7..e304c71a5fabaa065f056c495b9c491ad2f9e3b5 100644 |
| --- a/media/base/android/media_player_listener.cc |
| +++ b/media/base/android/media_player_listener.cc |
| @@ -35,9 +35,20 @@ void MediaPlayerListener::CreateMediaPlayerListener( |
| jobject context, jobject media_player) { |
| JNIEnv* env = AttachCurrentThread(); |
| CHECK(env); |
| + j_media_player_listener_.Reset( |
| + Java_MediaPlayerListener_create( |
| + env, reinterpret_cast<intptr_t>(this), context, media_player)); |
| +} |
| + |
| - Java_MediaPlayerListener_create( |
| - env, reinterpret_cast<intptr_t>(this), context, media_player); |
| +void MediaPlayerListener::ReleaseMediaPlayerListenerResources() { |
| + JNIEnv* env = AttachCurrentThread(); |
| + DCHECK(env); |
| + if (env && !j_media_player_listener_.is_null()) { |
|
Yaron
2012/11/27 05:58:00
Just change the DCHECK above to CHECK and remove t
Miguel Garcia
2012/11/27 17:24:06
Done.
|
| + Java_MediaPlayerListener_releaseResources( |
| + env, j_media_player_listener_.obj()); |
| + } |
| + j_media_player_listener_.Reset(); |
| } |
| void MediaPlayerListener::OnMediaError( |
| @@ -77,6 +88,12 @@ void MediaPlayerListener::OnMediaPrepared( |
| &MediaPlayerBridge::OnMediaPrepared, media_player_)); |
| } |
| +void MediaPlayerListener::OnMediaInterrupted( |
| + JNIEnv* /* env */, jobject /* obj */) { |
| + message_loop_->PostTask(FROM_HERE, base::Bind( |
| + &MediaPlayerBridge::OnMediaInterrupted, media_player_)); |
| +} |
| + |
| bool MediaPlayerListener::RegisterMediaPlayerListener(JNIEnv* env) { |
| bool ret = RegisterNativesImpl(env); |
| DCHECK(g_MediaPlayerListener_clazz); |