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

Commit 482a1b16 authored by James Dong's avatar James Dong
Browse files

Display AVC video sample profile and level for "stagefright" util

Change-Id: I04b3f67d162cf3827bc74ad98cd1e1a0f5f14172
parent 86e73537
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -107,6 +107,20 @@ static void displayDecodeHistogram(Vector<int64_t> *decodeTimesUs) {
    }
}

static void displayAVCProfileLevelIfPossible(const sp<MetaData>& meta) {
    uint32_t type;
    const void *data;
    size_t size;
    if (meta->findData(kKeyAVCC, &type, &data, &size)) {
        const uint8_t *ptr = (const uint8_t *)data;
        CHECK(size >= 7);
        CHECK(ptr[0] == 1);  // configurationVersion == 1
        uint8_t profile = ptr[1];
        uint8_t level = ptr[3];
        fprintf(stderr, "AVC video profile %d and level %d\n", profile, level);
    }
}

static void playSource(OMXClient *client, sp<MediaSource> &source) {
    sp<MetaData> meta = source->getFormat();

@@ -126,6 +140,7 @@ static void playSource(OMXClient *client, sp<MediaSource> &source) {
            fprintf(stderr, "Failed to instantiate decoder for '%s'.\n", mime);
            return;
        }
        displayAVCProfileLevelIfPossible(meta);
    }

    source.clear();