怎么编写并注册Gstreamer插件

作者:敖滚

环境:debian linux 2.6.8 + Gstreamer0.10

 

1.1.            编写插件前的准备:

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

cvs -d:pserver:[email protected]/cvs/gstreamer login

CVS password: [ENTER]

cvs -z3 -d:pserver:[email protected]:/cvs/gstreamer co gst-template

获取成功后,在获取的文件夹gst-template/gst-template/gst-plugin/tools 目录下有一个shellmake_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> 就可以查到自己编写

你可能感兴趣的:(怎么编写并注册Gstreamer插件)