Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(468)

Side by Side Diff: chrome/browser/media_galleries/fileapi/device_media_async_file_util.cc

Issue 178473022: MTP Streaming: Readahead Buffer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: change kDesiredNumberOfBuffers to unsigned Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/media_galleries/fileapi/readahead_file_stream_reader.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "chrome/browser/media_galleries/fileapi/device_media_async_file_util.h" 5 #include "chrome/browser/media_galleries/fileapi/device_media_async_file_util.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/single_thread_task_runner.h" 9 #include "base/single_thread_task_runner.h"
10 #include "base/task_runner_util.h" 10 #include "base/task_runner_util.h"
11 #include "chrome/browser/media_galleries/fileapi/media_path_filter.h" 11 #include "chrome/browser/media_galleries/fileapi/media_path_filter.h"
12 #include "chrome/browser/media_galleries/fileapi/mtp_device_async_delegate.h" 12 #include "chrome/browser/media_galleries/fileapi/mtp_device_async_delegate.h"
13 #include "chrome/browser/media_galleries/fileapi/mtp_device_map_service.h" 13 #include "chrome/browser/media_galleries/fileapi/mtp_device_map_service.h"
14 #include "chrome/browser/media_galleries/fileapi/mtp_file_stream_reader.h" 14 #include "chrome/browser/media_galleries/fileapi/mtp_file_stream_reader.h"
15 #include "chrome/browser/media_galleries/fileapi/native_media_file_util.h" 15 #include "chrome/browser/media_galleries/fileapi/native_media_file_util.h"
16 #include "chrome/browser/media_galleries/fileapi/readahead_file_stream_reader.h"
16 #include "content/public/browser/browser_thread.h" 17 #include "content/public/browser/browser_thread.h"
17 #include "net/base/io_buffer.h" 18 #include "net/base/io_buffer.h"
18 #include "net/base/mime_sniffer.h" 19 #include "net/base/mime_sniffer.h"
19 #include "webkit/browser/blob/file_stream_reader.h" 20 #include "webkit/browser/blob/file_stream_reader.h"
20 #include "webkit/browser/fileapi/file_system_context.h" 21 #include "webkit/browser/fileapi/file_system_context.h"
21 #include "webkit/browser/fileapi/file_system_operation_context.h" 22 #include "webkit/browser/fileapi/file_system_operation_context.h"
22 #include "webkit/browser/fileapi/file_system_url.h" 23 #include "webkit/browser/fileapi/file_system_url.h"
23 #include "webkit/common/blob/shareable_file_reference.h" 24 #include "webkit/common/blob/shareable_file_reference.h"
24 25
25 using fileapi::FileSystemOperationContext; 26 using fileapi::FileSystemOperationContext;
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 DeviceMediaAsyncFileUtil::GetFileStreamReader( 266 DeviceMediaAsyncFileUtil::GetFileStreamReader(
266 const FileSystemURL& url, 267 const FileSystemURL& url,
267 int64 offset, 268 int64 offset,
268 const base::Time& expected_modification_time, 269 const base::Time& expected_modification_time,
269 fileapi::FileSystemContext* context) { 270 fileapi::FileSystemContext* context) {
270 MTPDeviceAsyncDelegate* delegate = GetMTPDeviceDelegate(url); 271 MTPDeviceAsyncDelegate* delegate = GetMTPDeviceDelegate(url);
271 if (!delegate) 272 if (!delegate)
272 return scoped_ptr<webkit_blob::FileStreamReader>(); 273 return scoped_ptr<webkit_blob::FileStreamReader>();
273 274
274 DCHECK(delegate->IsStreaming()); 275 DCHECK(delegate->IsStreaming());
275 return scoped_ptr<webkit_blob::FileStreamReader>(new MTPFileStreamReader( 276 return scoped_ptr<webkit_blob::FileStreamReader>(
276 context, url, offset, expected_modification_time)); 277 new ReadaheadFileStreamReader(new MTPFileStreamReader(
278 context, url, offset, expected_modification_time)));
277 } 279 }
278 280
279 DeviceMediaAsyncFileUtil::DeviceMediaAsyncFileUtil( 281 DeviceMediaAsyncFileUtil::DeviceMediaAsyncFileUtil(
280 const base::FilePath& profile_path) 282 const base::FilePath& profile_path)
281 : profile_path_(profile_path), 283 : profile_path_(profile_path),
282 weak_ptr_factory_(this) { 284 weak_ptr_factory_(this) {
283 } 285 }
284 286
285 void DeviceMediaAsyncFileUtil::OnDidGetFileInfo( 287 void DeviceMediaAsyncFileUtil::OnDidGetFileInfo(
286 const AsyncFileUtil::GetFileInfoCallback& callback, 288 const AsyncFileUtil::GetFileInfoCallback& callback,
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 url.path(), // device file path 365 url.path(), // device file path
364 *snapshot_file_path, 366 *snapshot_file_path,
365 base::Bind(&DeviceMediaAsyncFileUtil::OnDidCreateSnapshotFile, 367 base::Bind(&DeviceMediaAsyncFileUtil::OnDidCreateSnapshotFile,
366 weak_ptr_factory_.GetWeakPtr(), 368 weak_ptr_factory_.GetWeakPtr(),
367 callback, 369 callback,
368 make_scoped_refptr(context->task_runner())), 370 make_scoped_refptr(context->task_runner())),
369 base::Bind(&DeviceMediaAsyncFileUtil::OnCreateSnapshotFileError, 371 base::Bind(&DeviceMediaAsyncFileUtil::OnCreateSnapshotFileError,
370 weak_ptr_factory_.GetWeakPtr(), 372 weak_ptr_factory_.GetWeakPtr(),
371 callback)); 373 callback));
372 } 374 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/media_galleries/fileapi/readahead_file_stream_reader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698