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

Commit e4cfcb82 authored by James Dong's avatar James Dong
Browse files

When the extractor is not able to be created successfully, don't crash

parent 09922d85
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -106,6 +106,9 @@ sp<MediaSource> createSource(const char *filename) {

    sp<MediaExtractor> extractor =
        MediaExtractor::Create(new FileSource(filename));
    if (extractor == NULL) {
        return NULL;
    }

    size_t num_tracks = extractor->countTracks();

+4 −0
Original line number Diff line number Diff line
@@ -431,6 +431,10 @@ int main(int argc, char **argv) {
            mediaSource = new JPEGSource(dataSource);
        } else {
            sp<MediaExtractor> extractor = MediaExtractor::Create(dataSource);
            if (extractor == NULL) {
                fprintf(stderr, "could not create data source\n");
                return -1;
            }

            size_t numTracks = extractor->countTracks();

+7 −1
Original line number Diff line number Diff line
@@ -512,7 +512,9 @@ static sp<MediaSource> CreateSourceForMime(const char *mime) {

    sp<MediaExtractor> extractor = CreateExtractorFromURI(url);

    CHECK(extractor != NULL);
    if (extractor == NULL) {
        return NULL;
    }

    for (size_t i = 0; i < extractor->countTracks(); ++i) {
        sp<MetaData> meta = extractor->getTrackMetaData(i);
@@ -571,6 +573,10 @@ status_t Harness::testSeek(
    sp<MediaSource> source = CreateSourceForMime(mime);

    sp<MediaSource> seekSource = CreateSourceForMime(mime);
    if (source == NULL || seekSource == NULL) {
        return UNKNOWN_ERROR;
    }

    CHECK_EQ(seekSource->start(), OK);

    sp<MediaSource> codec = OMXCodec::Create(