我有一个移植到Android的视频解码器,并成功地作为一个独立的应用程序工作,但我想将此代码集成到Android多媒体框架。所以,这个代码我已经添加到android的媒体框架中。那是我已将其添加到root/media/libstagefright/codecs/myDecoder
。
我在myDecoder文件夹下写了一个Android.mk
我添加并放置了我的解码器的源代码,编译成功,我可以在模拟器中运行它。
现在,我已经读过android中新的MediaCodec
API允许我们访问和使用android源代码中可用的编解码器。
我的问题是,现在我已将我的解码器集成到android源代码中:
我是否可以使用我的解码器解码输入流并在设备屏幕上呈现它?
我的解码器有一个函数应该被调用来解码流。此函数将输入流的路径作为参数。
我应该修改解码器源代码中的内容以符合MediaCodec
API的要求。
对此有任何帮助对我有用。
-Regards。
答案 0 :(得分:2)
MediaCodec
内部使用ACodec
抽象,它与底层OMX
组件对话。因此,您的编解码器应该在您平台的OMX
文件中注册一个media_codecs.xml
组件。
为确保始终选择自定义编解码器,您可以确保将编解码器注册为media_codecs.xml
文件中您希望使用的特定type
编解码器的第一个组件。
除此之外,只要您的编解码器支持标准OMX
功能和Android
特定扩展(如Native Buffer
使用等),它就可以正常工作。
注意:我认为您的应用程序需要提供输入并使用MediaCodec
的输出。