Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5a2ade33 authored by Andreas Huber's avatar Andreas Huber Committed by Android (Google) Code Review
Browse files

Merge "More metadata support."

parents c849cdf5 3a3656ce
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -57,6 +57,9 @@ enum {
    kKeyYear              = 'year',  // cstring
    kKeyAlbumArt          = 'albA',  // compressed image data
    kKeyAlbumArtMIME      = 'alAM',  // cstring
    kKeyAuthor            = 'auth',  // cstring
    kKeyCDTrackNumber     = 'cdtr',  // cstring
    kKeyDate              = 'date',  // cstring
};

enum {
+3 −1
Original line number Diff line number Diff line
@@ -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]);

+11 −2
Original line number Diff line number Diff line
@@ -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));