添加RTMP插件(gstreamer-plugin-bad-0.10.23)支持Gstreamer Android SDK 2013.6刚果

时间:2014-07-10 12:02:59

标签: android gstreamer rtmp

我目前正在尝试使用GSTREAMER Android SDK 2013.6版本配置RTMP插件。我能够交叉编译RTMP插件,并成功创建了libgstrtmp.a和libgstrtmp.la文件。

然后我将这些文件添加到GSTREAMER Android SDK的libs文件夹中的gstreamer-0.10文件夹中。然后我从SDK基础中获取了示例教程-5,并在Android.mk文件中进行了更改,然后重新编译项目。

毕竟这个RTMP插件在libgstreamer_android.so中静态注册但是当我运行提供rtmp流的应用程序时,我得到以下错误

  

g_type_add_interface_static:断言`G_TYPE_IS_INSTANTIATABLE(instance_type)'失败

     

g_once_init_leave:断言`结果!= 0'失败

以及以下警告。

  

类型GstRTMPSrc' is smaller than the parent type's GstPushSrc'实例大小

的指定实例大小      

指定的类型GstRTMPSink' is smaller than the parent type's GstBaseSink'实例大小

的实例大小

有人可以帮我解决此错误。根据Gstreamer SDK FAQ,实例和父类之间的这种不匹配可能是由于编译了两个不同版本的gstreamer。这是我的插件编译与SDK的其他版本。

我的另一个问题是针对什么版本的gstreamer版本是Android SDK编译的。因为这可能是错误的主要罪魁祸首。

感谢你。

Dhruv直升机。

1 个答案:

答案 0 :(得分:1)

您可能想要使用1.x版本的GStreamer,可在此处找到当前最新的稳定版本:http://gstreamer.freedesktop.org/data/pkg/android/1.2.4.1/ 此版本还包含RTMP插件。

此外,社区不再支持0.10版本,因为您已经缺少数千个错误修正,新功能和其他改进。