summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/StagefrightMetadataRetriever.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-01-13 10:45:49 -0800
committerAndreas Huber <andih@google.com>2010-01-13 10:45:49 -0800
commitbd4bc59262df90dc85752684a1d4a92833a535a3 (patch)
tree86f4ea340eb752959aa34b7a6d7aabff416b772e /media/libstagefright/StagefrightMetadataRetriever.cpp
parentd244d6a67896b48df8affd26fd9aa1e70d97719d (diff)
downloadframeworks_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.cpp13
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));