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

Side by Side Diff: chrome/utility/media_galleries/media_metadata_parser.cc

Issue 270873003: Media: Add thumbnail extraction to AudioVideoMetadataExtractor. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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
OLDNEW
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 "chrome/utility/media_galleries/media_metadata_parser.h" 5 #include "chrome/utility/media_galleries/media_metadata_parser.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/linked_ptr.h" 10 #include "base/memory/linked_ptr.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 // This runs on |media_thread_|, as the underlying FFmpeg operation is 49 // This runs on |media_thread_|, as the underlying FFmpeg operation is
50 // blocking, and the utility thread must not be blocked, so the media file 50 // blocking, and the utility thread must not be blocked, so the media file
51 // bytes can be sent from the browser process to the utility process. 51 // bytes can be sent from the browser process to the utility process.
52 scoped_ptr<MediaMetadataParser::MediaMetadata> ParseAudioVideoMetadata( 52 scoped_ptr<MediaMetadataParser::MediaMetadata> ParseAudioVideoMetadata(
53 media::DataSource* source, 53 media::DataSource* source,
54 scoped_ptr<MediaMetadataParser::MediaMetadata> metadata) { 54 scoped_ptr<MediaMetadataParser::MediaMetadata> metadata) {
55 DCHECK(source); 55 DCHECK(source);
56 DCHECK(metadata.get()); 56 DCHECK(metadata.get());
57 media::AudioVideoMetadataExtractor extractor; 57 media::AudioVideoMetadataExtractor extractor;
58 58
59 if (!extractor.Extract(source)) 59 // TODO(tommycli): Add attached picture extraction.
60 if (!extractor.Extract(source, false /* extract_attached_pics */))
60 return metadata.Pass(); 61 return metadata.Pass();
61 62
62 if (extractor.duration() >= 0) 63 if (extractor.duration() >= 0)
63 metadata->duration.reset(new double(extractor.duration())); 64 metadata->duration.reset(new double(extractor.duration()));
64 65
65 if (extractor.height() >= 0 && extractor.width() >= 0) { 66 if (extractor.height() >= 0 && extractor.width() >= 0) {
66 metadata->height.reset(new int(extractor.height())); 67 metadata->height.reset(new int(extractor.height()));
67 metadata->width.reset(new int(extractor.width())); 68 metadata->width.reset(new int(extractor.width()));
68 } 69 }
69 70
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 base::Bind(&FinishParseImageMetadata, base::Owned(extractor), 166 base::Bind(&FinishParseImageMetadata, base::Owned(extractor),
166 base::Passed(&metadata), callback)); 167 base::Passed(&metadata), callback));
167 return; 168 return;
168 } 169 }
169 170
170 // TODO(tommycli): Implement for image mime types. 171 // TODO(tommycli): Implement for image mime types.
171 callback.Run(metadata.Pass()); 172 callback.Run(metadata.Pass());
172 } 173 }
173 174
174 } // namespace metadata 175 } // namespace metadata
OLDNEW
« no previous file with comments | « no previous file | media/base/audio_video_metadata_extractor.h » ('j') | media/base/audio_video_metadata_extractor_unittest.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698