文章目录
前言
Gstreamer中的概念。
一、Goal
- 创建element
- 连接element
- 自定义element的行为
二、Code
0.pipeline
element是GStreamer的基本构造块。当数据从源元素(数据生产者)向下游元素(数据使用者)流经过滤器元素时,它们处理数据。本教程2中的pipeline没有filter。
1.编译运行
gcc basic-tutorial-2.c -o basic-tutorial-2 `pkg-config --cflags --libs gstreamer-1.0`
2.code
#include <gst/gst.h>
int main(int argc, char *argv[]) {
GstElement *pipeline, *source, *sink;
GstBus *bus;
GstMessage *msg;
GstStateChangeReturn ret;
/* Initialize GStreamer */
gst_init (&argc, &argv);
/* Create the elements */
source = gst_element_factory_make ("videotestsrc", "source");
sink = gst_element_factory_make ("autovideosink", "sink");
/* Create the empty pipeline */
pipeline = gst_pipeline_new ("test-pipeline");
if (!pipeline || !source || !sink) {
g_printerr ("Not all elements could be created.\n");
return -1;
}
/* Build the pipeline */
gst_bin_add_many (