Index: media/base/android/media_source_player.cc |
diff --git a/media/base/android/media_source_player.cc b/media/base/android/media_source_player.cc |
index 4e744fb8d14a8de3a2e77973fa685ceb9880704d..35ab8454fb5d08e80b203e00b1a66985f42e357f 100644 |
--- a/media/base/android/media_source_player.cc |
+++ b/media/base/android/media_source_player.cc |
@@ -194,6 +194,7 @@ void MediaSourcePlayer::Release() { |
playing_ = false; |
decoder_starvation_callback_.Cancel(); |
+ DetachListener(); |
} |
void MediaSourcePlayer::SetVolume(double volume) { |
@@ -230,6 +231,7 @@ void MediaSourcePlayer::StartInternal() { |
// be clear (not encrypted) or encrypted with different keys. So |
// |is_waiting_for_key_| condition may not be true anymore. |
is_waiting_for_key_ = false; |
+ AttachListener(NULL); |
SetPendingEvent(PREFETCH_REQUEST_EVENT_PENDING); |
ProcessPendingEvents(); |