| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/blink/buffered_data_source.h" | 5 #include "media/blink/buffered_data_source.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/callback_helpers.h" | 10 #include "base/callback_helpers.h" |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 class BufferedDataSource::ReadOperation { | 40 class BufferedDataSource::ReadOperation { |
| 41 public: | 41 public: |
| 42 ReadOperation(int64_t position, | 42 ReadOperation(int64_t position, |
| 43 int size, | 43 int size, |
| 44 uint8_t* data, | 44 uint8_t* data, |
| 45 const DataSource::ReadCB& callback); | 45 const DataSource::ReadCB& callback); |
| 46 ~ReadOperation(); | 46 ~ReadOperation(); |
| 47 | 47 |
| 48 // Runs |callback_| with the given |result|, deleting the operation | 48 // Runs |callback_| with the given |result|, deleting the operation |
| 49 // afterwards. | 49 // afterwards. |
| 50 static void Run(scoped_ptr<ReadOperation> read_op, int result); | 50 static void Run(std::unique_ptr<ReadOperation> read_op, int result); |
| 51 | 51 |
| 52 // State for the number of times this read operation has been retried. | 52 // State for the number of times this read operation has been retried. |
| 53 int retries() { return retries_; } | 53 int retries() { return retries_; } |
| 54 void IncrementRetries() { ++retries_; } | 54 void IncrementRetries() { ++retries_; } |
| 55 | 55 |
| 56 int64_t position() { return position_; } | 56 int64_t position() { return position_; } |
| 57 int size() { return size_; } | 57 int size() { return size_; } |
| 58 uint8_t* data() { return data_; } | 58 uint8_t* data() { return data_; } |
| 59 | 59 |
| 60 private: | 60 private: |
| (...skipping 19 matching lines...) Expand all Loading... |
| 80 callback_(callback) { | 80 callback_(callback) { |
| 81 DCHECK(!callback_.is_null()); | 81 DCHECK(!callback_.is_null()); |
| 82 } | 82 } |
| 83 | 83 |
| 84 BufferedDataSource::ReadOperation::~ReadOperation() { | 84 BufferedDataSource::ReadOperation::~ReadOperation() { |
| 85 DCHECK(callback_.is_null()); | 85 DCHECK(callback_.is_null()); |
| 86 } | 86 } |
| 87 | 87 |
| 88 // static | 88 // static |
| 89 void BufferedDataSource::ReadOperation::Run( | 89 void BufferedDataSource::ReadOperation::Run( |
| 90 scoped_ptr<ReadOperation> read_op, int result) { | 90 std::unique_ptr<ReadOperation> read_op, |
| 91 int result) { |
| 91 base::ResetAndReturn(&read_op->callback_).Run(result); | 92 base::ResetAndReturn(&read_op->callback_).Run(result); |
| 92 } | 93 } |
| 93 | 94 |
| 94 BufferedDataSource::BufferedDataSource( | 95 BufferedDataSource::BufferedDataSource( |
| 95 const GURL& url, | 96 const GURL& url, |
| 96 BufferedResourceLoader::CORSMode cors_mode, | 97 BufferedResourceLoader::CORSMode cors_mode, |
| 97 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, | 98 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, |
| 98 WebFrame* frame, | 99 WebFrame* frame, |
| 99 MediaLog* media_log, | 100 MediaLog* media_log, |
| 100 BufferedDataSourceHost* host, | 101 BufferedDataSourceHost* host, |
| (...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 607 } | 608 } |
| 608 | 609 |
| 609 // If media is currently playing or the page indicated preload=auto or the | 610 // If media is currently playing or the page indicated preload=auto or the |
| 610 // the server does not support the byte range request or we do not want to go | 611 // the server does not support the byte range request or we do not want to go |
| 611 // too far ahead of the read head, use threshold strategy to enable/disable | 612 // too far ahead of the read head, use threshold strategy to enable/disable |
| 612 // deferring when the buffer is full/depleted. | 613 // deferring when the buffer is full/depleted. |
| 613 loader_->UpdateDeferStrategy(BufferedResourceLoader::kCapacityDefer); | 614 loader_->UpdateDeferStrategy(BufferedResourceLoader::kCapacityDefer); |
| 614 } | 615 } |
| 615 | 616 |
| 616 } // namespace media | 617 } // namespace media |
| OLD | NEW |