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

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

Merge "Better error logging during meta data retrieval. Fixed the stagefright"

parents b92dee53 f4b7d940
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -775,7 +775,18 @@ int main(int argc, char **argv) {
            const char *filename = argv[k];

            bool failed = true;
            CHECK_EQ(retriever->setDataSource(filename), (status_t)OK);

            int fd = open(filename, O_RDONLY | O_LARGEFILE);
            CHECK_GE(fd, 0);

            off64_t fileSize = lseek64(fd, 0, SEEK_END);
            CHECK_GE(fileSize, 0ll);

            CHECK_EQ(retriever->setDataSource(fd, 0, fileSize), (status_t)OK);

            close(fd);
            fd = -1;

            sp<IMemory> mem =
                    retriever->getFrameAtTime(-1,
                                    MediaSource::ReadOptions::SEEK_PREVIOUS_SYNC);
+2 −0
Original line number Diff line number Diff line
@@ -38,6 +38,8 @@ FileSource::FileSource(const char *filename)

    if (mFd >= 0) {
        mLength = lseek64(mFd, 0, SEEK_END);
    } else {
        ALOGE("Failed to open file '%s'. (%s)", filename, strerror(errno));
    }
}

+3 −0
Original line number Diff line number Diff line
@@ -61,12 +61,15 @@ status_t StagefrightMetadataRetriever::setDataSource(
    mSource = DataSource::CreateFromURI(uri, headers);

    if (mSource == NULL) {
        ALOGE("Unable to create data source for '%s'.", uri);
        return UNKNOWN_ERROR;
    }

    mExtractor = MediaExtractor::Create(mSource);

    if (mExtractor == NULL) {
        ALOGE("Unable to instantiate an extractor for '%s'.", uri);

        mSource.clear();

        return UNKNOWN_ERROR;