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

Commit 6ed70d2d authored by Hiroshi Takekawa's avatar Hiroshi Takekawa
Browse files

StagefrightMediaScanner: Call endFile() for MIDI and OGG files.

addStringTag() caches non-ascii metadata strings for later
processing, and then endFile() will be called at the end of
processFile() to convert non-ascii strings from locale's charset
to utf-8 if required.

Stagefright's processFile() failed to call endFile() when the
processing file is a MIDI file or an OGG file.  This patch fixes
this problem to populate metadata correctly.

Reviewed by: Brad Fitzpatrick, Marco Nelissen.

Change-Id: I072e79d81dce1fec63297d2b5d2b870a72e5b66e
parent cf6a8d23
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -172,14 +172,16 @@ status_t StagefrightMediaScanner::processFile(
            || !strcasecmp(extension, ".rtttl")
            || !strcasecmp(extension, ".rtx")
            || !strcasecmp(extension, ".ota")) {
        return HandleMIDI(path, &client);
        status_t status = HandleMIDI(path, &client);
        if (status != OK) {
            return status;
        }

    if (!strcasecmp(extension, ".ogg")) {
        return HandleOGG(path, &client);
    } else if (!strcasecmp(extension, ".ogg")) {
        status_t status = HandleOGG(path, &client);
        if (status != OK) {
            return status;
        }

    if (mRetriever->setDataSource(path) == OK
    } else if (mRetriever->setDataSource(path) == OK
            && mRetriever->setMode(
                METADATA_MODE_METADATA_RETRIEVAL_ONLY) == OK) {
        const char *value;