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

Commit c80daa1b authored by Mike Lockwood's avatar Mike Lockwood Committed by Android Git Automerger
Browse files

am f10d9404: Merge "StagefrightMediaScanner: Close metadata retriever after we...

am f10d9404: Merge "StagefrightMediaScanner: Close metadata retriever after we are done scanning" into honeycomb

* commit 'f10d9404':
  StagefrightMediaScanner: Close metadata retriever after we are done scanning
parents 7fadb5e7 f10d9404
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -22,8 +22,6 @@

namespace android {

struct MediaMetadataRetriever;

struct StagefrightMediaScanner : public MediaScanner {
    StagefrightMediaScanner();
    virtual ~StagefrightMediaScanner();
@@ -35,8 +33,6 @@ struct StagefrightMediaScanner : public MediaScanner {
    virtual char *extractAlbumArt(int fd);

private:
    sp<MediaMetadataRetriever> mRetriever;

    StagefrightMediaScanner(const StagefrightMediaScanner &);
    StagefrightMediaScanner &operator=(const StagefrightMediaScanner &);
};
+35 −32
Original line number Diff line number Diff line
@@ -28,9 +28,7 @@

namespace android {

StagefrightMediaScanner::StagefrightMediaScanner()
    : mRetriever(new MediaMetadataRetriever) {
}
StagefrightMediaScanner::StagefrightMediaScanner() {}

StagefrightMediaScanner::~StagefrightMediaScanner() {}

@@ -131,7 +129,10 @@ status_t StagefrightMediaScanner::processFile(
        if (status != OK) {
            return status;
        }
    } else if (mRetriever->setDataSource(path) == OK) {
    } else {
        sp<MediaMetadataRetriever> mRetriever(new MediaMetadataRetriever);

         if (mRetriever->setDataSource(path) == OK) {
            const char *value;
            if ((value = mRetriever->extractMetadata(
                            METADATA_KEY_MIMETYPE)) != NULL) {
@@ -165,6 +166,7 @@ status_t StagefrightMediaScanner::processFile(
                }
            }
        }
    }

    client.endFile();

@@ -180,6 +182,7 @@ char *StagefrightMediaScanner::extractAlbumArt(int fd) {
    }
    lseek64(fd, 0, SEEK_SET);

    sp<MediaMetadataRetriever> mRetriever(new MediaMetadataRetriever);
    if (mRetriever->setDataSource(fd, 0, size) == OK) {
        sp<IMemory> mem = mRetriever->extractAlbumArt();