对于某些格式,会要求实际数据以特性的开头为前缀(CSD data)[Codec-special data]。这些数据最终会通过MediaCodec configure来传递。
使用MediaCodec,会使用Android自带extractor/Vendor厂商扩展extractor或者apk自带extractor.
前两种extractor,会调用Utils.cpp里面的convertMetaDataToMessage()得到csd-0/csd-1/csd-2等。
当MediaCodec处理kWhatConfigure消息的时候
case kWhatConfigure:
extractCSD(format);
=>mCSD.push_back(csd);
case kWhatFillThisBuffer:
queueCSDInputBuffer(index);