appsrc传输一个"sss", 怎么设置caps
时间: 2023-06-04 14:03:43 浏览: 152
caps:第一个单词的大写
您可以通过以下代码将"sss"传递到appsrc并设置caps:
```
// 创建appsrc元素
GstElement *appsrc = gst_element_factory_make("appsrc", "source");
// 设置appsrc caps
GstCaps *caps = gst_caps_from_string("video/x-raw,format=RGB,width=320,height=240,framerate=30/1");
g_object_set(G_OBJECT(appsrc), "caps", caps, NULL);
gst_caps_unref(caps);
// 向appsrc中push数据
GstBuffer *buffer = gst_buffer_new_wrapped_full(GST_MEMORY_FLAG_READONLY, "sss", 3, 0, 3, NULL, NULL);
g_signal_emit_by_name(appsrc, "push-buffer", buffer, NULL);
```
以上代码中,我们首先通过`gst_element_factory_make`创建一个`appsrc`元素,然后使用`gst_caps_from_string`创建一个`GstCaps`结构体来设置`appsrc`的caps。接着,我们使用`g_object_set`函数将这个caps设置到`appsrc`中。最后,我们创建一个包含字符串"sss"的`GstBuffer`结构体,并使用`g_signal_emit_by_name`函数将数据push到`appsrc`中。
阅读全文