| Index: media/filters/file_data_source.cc
|
| ===================================================================
|
| --- media/filters/file_data_source.cc (revision 105891)
|
| +++ media/filters/file_data_source.cc (working copy)
|
| @@ -16,9 +16,16 @@
|
|
|
| FileDataSource::FileDataSource()
|
| : file_(NULL),
|
| - file_size_(0) {
|
| + file_size_(0),
|
| + disable_file_size_(false) {
|
| }
|
|
|
| +FileDataSource::FileDataSource(bool disable_file_size)
|
| + : file_(NULL),
|
| + file_size_(0),
|
| + disable_file_size_(disable_file_size) {
|
| +}
|
| +
|
| FileDataSource::~FileDataSource() {
|
| DCHECK(!file_);
|
| }
|
| @@ -37,17 +44,18 @@
|
| file_size_ = 0;
|
| return PIPELINE_ERROR_URL_NOT_FOUND;
|
| }
|
| - if (host()) {
|
| - host()->SetTotalBytes(file_size_);
|
| - host()->SetBufferedBytes(file_size_);
|
| - }
|
| + UpdateHostBytes();
|
|
|
| return PIPELINE_OK;
|
| }
|
|
|
| void FileDataSource::set_host(FilterHost* filter_host) {
|
| DataSource::set_host(filter_host);
|
| - if (file_) {
|
| + UpdateHostBytes();
|
| +}
|
| +
|
| +void FileDataSource::UpdateHostBytes() {
|
| + if (host() && file_) {
|
| host()->SetTotalBytes(file_size_);
|
| host()->SetBufferedBytes(file_size_);
|
| }
|
| @@ -103,13 +111,17 @@
|
| DCHECK(file_);
|
| base::AutoLock l(lock_);
|
| *size_out = file_size_;
|
| - return (NULL != file_);
|
| + return (NULL != file_ && !disable_file_size_);
|
| }
|
|
|
| bool FileDataSource::IsStreaming() {
|
| return false;
|
| }
|
|
|
| -void FileDataSource::SetPreload(Preload preload) {}
|
| +void FileDataSource::SetPreload(Preload preload) {
|
| +}
|
|
|
| +void FileDataSource::SetBitrate(int bitrate) {
|
| +}
|
| +
|
| } // namespace media
|
|
|