Index: media/filters/decoder_stream.h |
diff --git a/media/filters/decoder_stream.h b/media/filters/decoder_stream.h |
index 5acd9daf9e487dd0ad1f1caaae65318770d46a2c..68bbfcd937df91d3eae5f4a1db1136507cef5c0c 100644 |
--- a/media/filters/decoder_stream.h |
+++ b/media/filters/decoder_stream.h |
@@ -147,7 +147,6 @@ class MEDIA_EXPORT DecoderStream { |
void OnDecoderStopped(); |
scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
- base::WeakPtrFactory<DecoderStream<StreamType> > weak_factory_; |
State state_; |
@@ -166,6 +165,9 @@ class MEDIA_EXPORT DecoderStream { |
scoped_ptr<Decoder> decoder_; |
scoped_ptr<DecryptingDemuxerStream> decrypting_demuxer_stream_; |
+ // NOTE: Weak pointers must be invalidated before all other member variables. |
+ base::WeakPtrFactory<DecoderStream<StreamType> > weak_factory_; |
+ |
// This is required so the VideoFrameStream can access private members in |
// FinishInitialization() and ReportStatistics(). |
DISALLOW_IMPLICIT_CONSTRUCTORS(DecoderStream); |