Index: media/filters/ffmpeg_demuxer.h |
diff --git a/media/filters/ffmpeg_demuxer.h b/media/filters/ffmpeg_demuxer.h |
index c527b7410c484a9f21942df214069977a73fd80e..154ff05ef33f6b62c4da7bec0a604a78c896ae84 100644 |
--- a/media/filters/ffmpeg_demuxer.h |
+++ b/media/filters/ffmpeg_demuxer.h |
@@ -233,8 +233,9 @@ class MEDIA_EXPORT FFmpegDemuxer : public Demuxer { |
// go over capacity depending on how the file is muxed. |
bool StreamsHaveAvailableCapacity(); |
- // Returns true if the maximum allowed memory usage has been reached. |
- bool IsMaxMemoryUsageReached() const; |
+ // Updates |stream_memory_usage_| to the memory usage in bytes of all |
+ // FFmpegDemuxerStreams. Returns the current memory usage. |
+ int64_t UpdateMemoryUsage(); |
// Signal all FFmpegDemuxerStreams that the stream has ended. |
void StreamHasEnded(); |
@@ -323,6 +324,10 @@ class MEDIA_EXPORT FFmpegDemuxer : public Demuxer { |
const EncryptedMediaInitDataCB encrypted_media_init_data_cb_; |
+ // Last stream size as calculated by UpdateMemoryUsage(). |
+ mutable base::Lock stream_memory_usage_lock_; |
+ int64_t stream_memory_usage_; |
+ |
// NOTE: Weak pointers must be invalidated before all other member variables. |
base::WeakPtrFactory<FFmpegDemuxer> weak_factory_; |