Chromium Code Reviews| Index: media/blink/multibuffer_reader.cc |
| diff --git a/media/blink/multibuffer_reader.cc b/media/blink/multibuffer_reader.cc |
| index 1872110112e49c866cfc94a97e2228c0db8db96d..9812b6cfc9d6d3406b4e0f8752ac1c734a2c1bcf 100644 |
| --- a/media/blink/multibuffer_reader.cc |
| +++ b/media/blink/multibuffer_reader.cc |
| @@ -24,6 +24,7 @@ MultiBufferReader::MultiBufferReader( |
| preload_low_(0), |
| max_buffer_forward_(0), |
| max_buffer_backward_(0), |
| + current_buffer_size_(0), |
| pinned_range_(0, 0), |
| pos_(start), |
| preload_pos_(-1), |
| @@ -38,8 +39,7 @@ MultiBufferReader::MultiBufferReader( |
| MultiBufferReader::~MultiBufferReader() { |
| PinRange(0, 0); |
| multibuffer_->RemoveReader(preload_pos_, this); |
| - multibuffer_->IncrementMaxSize( |
| - -block_ceil(max_buffer_forward_ + max_buffer_backward_)); |
| + multibuffer_->IncrementMaxSize(-current_buffer_size_); |
| multibuffer_->CleanupWriters(preload_pos_); |
| } |
| @@ -58,17 +58,20 @@ void MultiBufferReader::Seek(int64_t pos) { |
| multibuffer_->CleanupWriters(old_preload_pos); |
| } |
| -void MultiBufferReader::SetMaxBuffer(int64_t backward, int64_t forward) { |
| +void MultiBufferReader::SetMaxBuffer(int64_t buffer_size) { |
| + // Safe, because we know this doesn't actually prune the cache right away. |
| + int64_t new_buffer_size = block_ceil(buffer_size); |
| + ; |
|
DaleCurtis
2016/05/04 21:39:32
extra ;
hubbe
2016/05/04 21:55:06
Done.
|
| + multibuffer_->IncrementMaxSize(new_buffer_size - current_buffer_size_); |
|
DaleCurtis
2016/05/04 21:39:32
dcheck cur <= new_buffer_size ?
hubbe
2016/05/04 21:55:06
Decreasing the buffer size is allowed.
(As is call
|
| + current_buffer_size_ = new_buffer_size; |
| +} |
| + |
| +void MultiBufferReader::SetPinRange(int64_t backward, int64_t forward) { |
| // Safe, because we know this doesn't actually prune the cache right away. |
| - multibuffer_->IncrementMaxSize( |
| - -block_ceil(max_buffer_forward_ + max_buffer_backward_)); |
| max_buffer_backward_ = backward; |
| max_buffer_forward_ = forward; |
| PinRange(block(pos_ - max_buffer_backward_), |
| block_ceil(pos_ + max_buffer_forward_)); |
| - |
| - multibuffer_->IncrementMaxSize( |
| - block_ceil(max_buffer_forward_ + max_buffer_backward_)); |
| } |
| int64_t MultiBufferReader::Available() const { |