您的位置:首页 > 其它

怎么编写并注册Gstreamer插件

2012-09-17 16:35 477 查看
作者:敖滚

环境:debian linux 2.6.8 + Gstreamer0.10

1.1.
编写插件前的准备:

由于编写插件需要一定的格式,需要写一些固定 的函数和代码,所以为了方便,首先用cvs先从网上获取gstreamer插件的模板:

cvs -d:pserver:anoncvs@cvs.freedesktop.org/cvs/gstreamer login

CVS password:
[ENTER]

cvs -z3 -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/gstreamer co gst-template

获取成功后,在获取的文件夹gst-template/gst-template/gst-plugin/tools
目录下有一个shell:make_element,利用这个shell和目录gst-template/gst-plugin/src/下的gstplugin.*文件可以创建一个基本插件所需的代码,shell的使用方法如下:

./make_element <your plugin> ../src/ gstplugin

如果成功的话在当前目录下会出现两个c文件,名称为<your
plugin>.c和<your plugin>.h,然后根 据你的需要在这两个文件的基础上编写你的插件

1.2.
编写Makefile:

从gstreamer的源代码目录中拷贝shell文件:libtool到你编写的插件目录,然后按照下面的格式编写Makefile文件,<>中为自己填写的内容,根据不同的需要在此基础上修改,(注意:1.1中根据模板生成的插件代码是不能直接编译通过的,需要自己进行
一些修改):

CFLAGS=$(shell pkg-config --cflags gstreamer-0.10) -DGST_PACKAGE='"GStreamer"' -DGST_ORIGIN='"http://gstreamer.net"' -DVERSION='"0.0"' -DHAVE_USER_MTU -Wall -Wimplicit -g

ur plugin>.c

<your_plugin_name>.la: <your_plugin_name>.lo

./libtool gcc --mode=link -module -avoid-version\

-rpath <your plugin directory>\

-export-symbols-regex gst_plugin_desc \

-o <your_plugin_name>.la \

<your_plugin_name>.lo \

$(pkg-config --libs gstreamer-0.10)

<your_plugin_name>.lo: <your_plugin_name>.c

./libtool --mode=compile gcc $(CFLAGS) -o <your_plugin_name>.lo -c <your_plugin_name>.c

.PHONY: install

install: <your_plugin_name>.la

./libtool --mode=install install <your_plugin_name>.la /usr/local/lib/gstreamer-0.10/

clean:

rm -rf *.o *.lo *.a *.la .libs

1.3.
编译并注册

编写完makefile之后,执行make;make
install命令,成功后执行gst-inspect <your plugin name>就可以查到自己编写
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: