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 | |
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')
-rw-r--r-- | media/libstagefright/MP3Extractor.cpp | 4 | ||||
-rw-r--r-- | media/libstagefright/StagefrightMetadataRetriever.cpp | 13 |
2 files changed, 14 insertions, 3 deletions
diff --git a/media/libstagefright/MP3Extractor.cpp b/media/libstagefright/MP3Extractor.cpp index 5df1e00..48130fc 100644 --- a/media/libstagefright/MP3Extractor.cpp +++ b/media/libstagefright/MP3Extractor.cpp @@ -729,8 +729,10 @@ sp<MetaData> MP3Extractor::getMetaData() { { kKeyArtist, "TPE1", "TP1" }, { kKeyComposer, "TCOM", "TCM" }, { kKeyGenre, "TCON", "TCO" }, - { kKeyTitle, "TALB", "TAL" }, + { kKeyTitle, "TIT2", "TT2" }, { kKeyYear, "TYE", "TYER" }, + { kKeyAuthor, "TXT", "TEXT" }, + { kKeyCDTrackNumber, "TRK", "TRCK" }, }; static const size_t kNumMapEntries = sizeof(kMap) / sizeof(kMap[0]); 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)); |