diff options
author | Andreas Huber <andih@google.com> | 2010-01-13 10:45:49 -0800 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2010-01-13 10:45:49 -0800 |
commit | bd4bc59262df90dc85752684a1d4a92833a535a3 (patch) | |
tree | 86f4ea340eb752959aa34b7a6d7aabff416b772e /media/libstagefright/StagefrightMetadataRetriever.cpp | |
parent | d244d6a67896b48df8affd26fd9aa1e70d97719d (diff) | |
download | frameworks_av-bd4bc59262df90dc85752684a1d4a92833a535a3.zip frameworks_av-bd4bc59262df90dc85752684a1d4a92833a535a3.tar.gz frameworks_av-bd4bc59262df90dc85752684a1d4a92833a535a3.tar.bz2 |
More metadata support.
Diffstat (limited to 'media/libstagefright/StagefrightMetadataRetriever.cpp')
-rw-r--r-- | media/libstagefright/StagefrightMetadataRetriever.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/media/libstagefright/StagefrightMetadataRetriever.cpp b/media/libstagefright/StagefrightMetadataRetriever.cpp index be4a9d9..4cc56e3 100644 --- a/media/libstagefright/StagefrightMetadataRetriever.cpp +++ b/media/libstagefright/StagefrightMetadataRetriever.cpp @@ -275,9 +275,12 @@ void StagefrightMetadataRetriever::parseMetaData() { int to; }; static const Map kMap[] = { + { kKeyCDTrackNumber, METADATA_KEY_CD_TRACK_NUMBER }, { kKeyAlbum, METADATA_KEY_ALBUM }, { kKeyArtist, METADATA_KEY_ARTIST }, + { kKeyAuthor, METADATA_KEY_AUTHOR }, { kKeyComposer, METADATA_KEY_COMPOSER }, + { kKeyDate, METADATA_KEY_DATE }, { kKeyGenre, METADATA_KEY_GENRE }, { kKeyTitle, METADATA_KEY_TITLE }, { kKeyYear, METADATA_KEY_YEAR }, @@ -301,9 +304,16 @@ void StagefrightMetadataRetriever::parseMetaData() { memcpy(mAlbumArt->mData, data, dataSize); } + size_t numTracks = mExtractor->countTracks(); + + char tmp[32]; + sprintf(tmp, "%d", numTracks); + + mMetaData.add(METADATA_KEY_NUM_TRACKS, String8(tmp)); + // The overall duration is the duration of the longest track. int64_t maxDurationUs = 0; - for (size_t i = 0; i < mExtractor->countTracks(); ++i) { + for (size_t i = 0; i < numTracks; ++i) { sp<MetaData> trackMeta = mExtractor->getTrackMetaData(i); int64_t durationUs; @@ -315,7 +325,6 @@ void StagefrightMetadataRetriever::parseMetaData() { } // The duration value is a string representing the duration in ms. - char tmp[32]; sprintf(tmp, "%lld", (maxDurationUs + 500) / 1000); mMetaData.add(METADATA_KEY_DURATION, String8(tmp)); |