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 60e1dfc0f823268042381b5e4514931290c3d2b8..2ca4c9f89abccdff6428bebaa5d60d83f6330c9b 100644 |
--- a/media/base/android/media_player_android.cc |
+++ b/media/base/android/media_player_android.cc |
@@ -24,8 +24,9 @@ MediaPlayerAndroid::MediaPlayerAndroid( |
frame_url_(frame_url), |
is_audible_(false), |
weak_factory_(this) { |
+ weak_ptr_for_ui_thread_ = weak_factory_.GetWeakPtr(); |
listener_.reset(new MediaPlayerListener(base::ThreadTaskRunnerHandle::Get(), |
- weak_factory_.GetWeakPtr())); |
+ weak_ptr_for_ui_thread_)); |
} |
MediaPlayerAndroid::~MediaPlayerAndroid() {} |
@@ -88,6 +89,7 @@ void MediaPlayerAndroid::DetachListener() { |
void MediaPlayerAndroid::DestroyListenerOnUIThread() { |
weak_factory_.InvalidateWeakPtrs(); |
+ weak_ptr_for_ui_thread_.reset(); |
listener_.reset(); |
} |