Что такое индекс в следующей функции?

sp<MetaData> MP3Extractor::getTrackMetaData(size_t index, uint32_t flags) {
    ALOGE("%s\t%d",__FUNCTION__,__LINE__);

    if (mInitCheck != OK || index != 0) {
        return NULL;
    }

    return mMeta;
}

Почему эта функция требуется в MP3Extractor?

1 ответ

Решение

MediaExtractor это модуль, который реализует разбор мультиплексированных данных в формате контейнера или файла В файле будет несколько tracks, которые соответствуют конкретным данным, таким как video или же audio, Точно так же в MP3 файла, может быть несколько дорожек, которые идентифицируются по их индексу. Индекс в функции соответствует определенному track представляет интерес.

Теперь, почему эта функция требуется? поскольку MP3Extractor это еще один экстрактор в рамках, он должен поддерживать эту функцию, причина которой заключается в следующем. Давайте рассмотрим player В качестве примера. AwesomePlayer это движок игрока, который устанавливает весь конвейер.

В этом процессе движок плеера сначала установит экстрактор, а затем попытается создать нисходящий компонент, такой как decoder потреблять данные. decoder относится к треку, который идентифицируется index, Чтобы создать decoderнеобходимо знать характеристики данных, которые представлены или захвачены в meta т.е. метаданные, которые будут использоваться для создания и инициализации нисходящего компонента.

Другие вопросы по тегам