Index: media/filters/decrypting_audio_decoder.h |
diff --git a/media/filters/decrypting_audio_decoder.h b/media/filters/decrypting_audio_decoder.h |
index 43e05e24010036fc74f7eaa877d0d69351a2ab7c..4d00ad5d1c5304d3b4ba1554cd3d5c955c169f2b 100644 |
--- a/media/filters/decrypting_audio_decoder.h |
+++ b/media/filters/decrypting_audio_decoder.h |
@@ -99,8 +99,6 @@ class MEDIA_EXPORT DecryptingAudioDecoder : public AudioDecoder { |
void EnqueueFrames(const Decryptor::AudioBuffers& frames); |
scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
- base::WeakPtrFactory<DecryptingAudioDecoder> weak_factory_; |
- base::WeakPtr<DecryptingAudioDecoder> weak_this_; |
State state_; |
@@ -136,6 +134,10 @@ class MEDIA_EXPORT DecryptingAudioDecoder : public AudioDecoder { |
scoped_ptr<AudioTimestampHelper> timestamp_helper_; |
+ // NOTE: Weak pointers must be invalidated before all other member variables. |
+ base::WeakPtrFactory<DecryptingAudioDecoder> weak_factory_; |
+ base::WeakPtr<DecryptingAudioDecoder> weak_this_; |
+ |
DISALLOW_COPY_AND_ASSIGN(DecryptingAudioDecoder); |
}; |