3

我有一个视频解码器,它被移植到 android 并作为一个独立的应用程序成功运行,但是我想将此代码集成到 android 多媒体框架中。因此,我已将这段代码添加到 android 的媒体框架中。那就是我已将其添加到root/media/libstagefright/codecs/myDecoder.

我已经Android.mk在 myDecoder 文件夹下编写了一个,我已经添加并放置了我的解码器的源代码,编译成功,我可以在模拟器中运行它。

现在,我读到MediaCodecandroid 中的新 API 允许我们访问和使用 android 源代码中可用的编解码器。

我的问题是,现在我已经将我的解码器集成到了 android 源代码中:

我是否可以使用我的解码器来解码输入流并将其呈现在设备屏幕上?

我的解码器有一个函数,应该调用它来解码流。该函数将输入流的路径作为参数。

我是否应该修改解码器源代码中的某些内容以匹配MediaCodecAPI 的要求。

任何有关相同的帮助都会对我很有帮助。

-问候。

4

1 回答 1

2

MediaCodec内部采用与底层组件ACodec对话的抽象。因此,您的编解码器应该在您的平台文件中OMX注册一个OMX组件。media_codecs.xml

为确保始终选择您的自定义编解码器,您可以确保将您的编解码器注册为文件中您希望使用media_codecs.xml的特定编解码器的第一个组件。type

除此之外,只要您的编解码器支持标准OMX功能和Android特定扩展(如Native Buffer用法等),它就应该可以正常工作。

注意:我假设您的应用程序需要提供输入并使用MediaCodec.

于 2013-08-29T01:20:39.377 回答