| Index: media/blink/buffered_data_source.cc
|
| diff --git a/media/blink/buffered_data_source.cc b/media/blink/buffered_data_source.cc
|
| index b26f0f13895ea2a4d9d16bfe5e4b5711d747c579..f3c518acab8054ba7eedc68cdcae0c2115c1187a 100644
|
| --- a/media/blink/buffered_data_source.cc
|
| +++ b/media/blink/buffered_data_source.cc
|
| @@ -23,17 +23,23 @@ namespace {
|
| // of FFmpeg.
|
| const int kInitialReadBufferSize = 32768;
|
|
|
| -// Number of cache misses or read failures we allow for a single Read() before
|
| -// signaling an error.
|
| -const int kLoaderRetries = 3;
|
| -
|
| // The number of milliseconds to wait before retrying a failed load.
|
| const int kLoaderFailedRetryDelayMs = 250;
|
|
|
| +// Each retry, add this many MS to the delay.
|
| +const int kAdditionalDelayPerRetryMs = 50;
|
| +
|
| } // namespace
|
|
|
| namespace media {
|
|
|
| +// Number of cache misses or read failures we allow for a single Read() before
|
| +// signaling an error.
|
| +// total delay is:
|
| +// (kLoaderPartialRetryDelayMs +
|
| +// kAdditionalDelayPerRetryMs * (kMaxRetries - 1) / 2) * kMaxretries = 29250 ms
|
| +const int BufferedDataSource::kLoaderRetries = 30;
|
| +
|
| class BufferedDataSource::ReadOperation {
|
| public:
|
| ReadOperation(int64_t position,
|
| @@ -491,7 +497,9 @@ void BufferedDataSource::ReadCallback(
|
| FROM_HERE, base::Bind(&BufferedDataSource::ReadCallback,
|
| weak_factory_.GetWeakPtr(),
|
| BufferedResourceLoader::kCacheMiss, 0),
|
| - base::TimeDelta::FromMilliseconds(kLoaderFailedRetryDelayMs));
|
| + base::TimeDelta::FromMilliseconds(kLoaderFailedRetryDelayMs +
|
| + read_op_->retries() *
|
| + kAdditionalDelayPerRetryMs));
|
| return;
|
| }
|
|
|
|
|