以下函数中的索引是什么?

时间:2014-01-09 18:10:55

标签: android stagefright openmax

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 个答案:

答案 0 :(得分:2)

MediaExtractor是一个实现多路复用数据的容器或文件格式解析的模块。在文件中,将有多个track对应于videoaudio等特定数据。同样,在MP3文件中,可能有多个轨道由其索引标识。函数中的索引对应于感兴趣的特定track

现在,为什么需要此功能?由于MP3Extractor是框架中的另一个提取器,它必须支持此功能,其原因如下。我们以player为例。 AwesomePlayer是一个玩家引擎,用于设置整个管道。

在此过程中,播放器引擎将首先设置提取器,然后尝试创建像decoder这样的下游组件来使用数据。 decoder特定于由index标识的曲目。为了创建decoder,需要知道在meta中表示或捕获的数据的特征,即将用于创建和初始化下游组件的元数据。