怎么编写并注册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>就可以查到自己编写
环境: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>就可以查到自己编写
相关文章推荐
- 怎么编写并注册Gstreamer插件(一)
- 怎么编写并注册Gstreamer插件(一)
- 基于vuejs+Element的注册插件的编写
- gstreamer 插件编写【一】基础知识
- Tigase插件编写——注册用户批量查询
- Phonegap插件编写注册与使用
- Qt编写OCX插件注册错误
- Gstreamer 插件编写【二】高级特性
- 基于Vuejs和Element的注册插件的编写方法
- 基于Vuejs+Element的注册插件的编写
- 2017/8/13 jq编写插件方法
- 使用python编写简单vim插件
- Unity3d 编写编辑器自定义插件
- 编写jquery弹出框插件
- HTML+CSS快速编写插件EMMET
- 如何用正确的姿势编写jQuery插件
- android jni 的编写一(JNI的静态注册)
- 【Android】AndroidStudio编写插件超详细教程(三)
- 编写JQuery插件
- gstreamer插件调用ffmpeg 详解