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_resource_loader.h" | 5 #include "media/blink/buffered_resource_loader.h" |
6 | 6 |
7 #include "base/bits.h" | 7 #include "base/bits.h" |
8 #include "base/callback_helpers.h" | 8 #include "base/callback_helpers.h" |
9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
(...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
461 | 461 |
462 // Consume excess bytes from our in-memory buffer if necessary. | 462 // Consume excess bytes from our in-memory buffer if necessary. |
463 if (buffer_.forward_bytes() > buffer_.forward_capacity()) { | 463 if (buffer_.forward_bytes() > buffer_.forward_capacity()) { |
464 int excess = buffer_.forward_bytes() - buffer_.forward_capacity(); | 464 int excess = buffer_.forward_bytes() - buffer_.forward_capacity(); |
465 bool success = buffer_.Seek(excess); | 465 bool success = buffer_.Seek(excess); |
466 DCHECK(success); | 466 DCHECK(success); |
467 offset_ += first_offset_ + excess; | 467 offset_ += first_offset_ + excess; |
468 } | 468 } |
469 | 469 |
470 // Notify latest progress and buffered offset. | 470 // Notify latest progress and buffered offset. |
471 progress_cb_.Run(offset_ + buffer_.forward_bytes() - 1); | 471 progress_cb_.Run(std::max(0L, offset_ - buffer_.backward_bytes()), |
| 472 offset_ + buffer_.forward_bytes() - 1); |
472 Log(); | 473 Log(); |
473 } | 474 } |
474 | 475 |
475 void BufferedResourceLoader::didDownloadData( | 476 void BufferedResourceLoader::didDownloadData( |
476 blink::WebURLLoader* loader, | 477 blink::WebURLLoader* loader, |
477 int dataLength, | 478 int dataLength, |
478 int encoded_data_length) { | 479 int encoded_data_length) { |
479 NOTIMPLEMENTED(); | 480 NOTIMPLEMENTED(); |
480 } | 481 } |
481 | 482 |
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
781 | 782 |
782 void BufferedResourceLoader::Log() { | 783 void BufferedResourceLoader::Log() { |
783 media_log_->AddEvent( | 784 media_log_->AddEvent( |
784 media_log_->CreateBufferedExtentsChangedEvent( | 785 media_log_->CreateBufferedExtentsChangedEvent( |
785 offset_ - buffer_.backward_bytes(), | 786 offset_ - buffer_.backward_bytes(), |
786 offset_, | 787 offset_, |
787 offset_ + buffer_.forward_bytes())); | 788 offset_ + buffer_.forward_bytes())); |
788 } | 789 } |
789 | 790 |
790 } // namespace media | 791 } // namespace media |
OLD | NEW |