GStreamer
文章平均质量分 57
威威攻城狮
远赴人间惊鸿宴,一睹人间盛世颜!
展开
-
GStreamer中如何自定义配置线程优先级
本篇文章阐述gstreamer如何自定义调整gstreamer线程优先级原创 2024-05-13 20:49:32 · 878 阅读 · 1 评论 -
Gsteamer播放MP4文件
以mp4视频文件的播放为例子介绍gstreamer基于gst-launc-1.0以及代码形式如何实现MP4视频文件播放.原创 2024-05-13 20:28:09 · 618 阅读 · 0 评论 -
gstreamer插件开发-What are states?
请注意,向上(NULL=>READY, READY=>PAUSED, PAUSED=>PLAYING)和向下(PLAYING=>PAUSED, PAUSED=>READY, READY=>NULL)状态变化是在两个单独的块中处理的,向下的状态变化只有在我们链接到父类的状态变化函数之后才能处理。这样做的原因是,在向下状态变化的情况下,你不想破坏分配的资源,而你的插件的链函数(例如)仍然在另一个线程中访问这些资源。你的链式函数是否在运行取决于插件的垫的状态,而这些垫的状态与元素的状态密切相关。原创 2023-11-29 19:42:16 · 1173 阅读 · 0 评论 -
gstreamer插件开发-The event function
对于未知事件,调用默认事件处理程序gst_pad_event_default()是个好主意。根据事件类型,默认处理程序将转发事件或简单地取消它。CAPS事件在默认情况下是不转发的,因此我们需要在事件处理程序中自己执行此操作。event函数通知您数据流中发生的特殊事件(如大写、流结束、新段、标记等)。事件可以在上游和下游传播,因此您可以在汇聚节点和源节点上接收它们。下面是一个非常简单的事件函数,我们将其安装在元素的接收器上。原创 2023-10-26 10:10:04 · 88 阅读 · 0 评论 -
gstreamer插件开发-Adding Properties
而且在属性的定义中使用非常描述性的(更好的是:国际化的)字符串,如果可能的话使用枚举和标志而不是整数。如果应用程序更改或请求属性的值,这些函数将得到通知,然后可以填充值或采取所需的操作来在内部更改该属性的值。图形化应用程序将使用这些属性,并将显示一个用户可控制的小部件,这些小部件可用于更改这些属性。您可能还希望保留一个实例变量,其中包含您在get和set函数中使用的属性的当前配置值。注意,GObject不会自动将实例变量设置为默认值,您必须在元素的_init()函数中这样做。原创 2023-10-26 10:13:49 · 179 阅读 · 0 评论 -
gstreamer插件开发-The query function
通过查询函数,元素将接收它必须回复的查询。这些查询包括位置、持续时间,以及元素支持的格式和调度模式。查询可以在上游和下游传递,因此您可以在汇聚节点和源节点上接收它们。对于未知查询,调用默认查询处理程序gst_pad_query_default()是一个好主意。根据查询类型,默认处理程序将转发查询或简单地unref它。下面是一个非常简单的查询函数,我们将它安装在元素的源目录上。原创 2023-10-26 10:10:46 · 119 阅读 · 0 评论 -
gstreamer插件开发-Building a Test Application
通常,您会希望在尽可能小的设置中测试新编写的插件。如果你的插件基于gst-plugin模板,那么这看起来就像gst-launch-1.0——gst-plugin-path=$HOME/gst-template/gst-plugin/src/。您可以使用gst_element_factory_make()创建元素,其中第一个参数是您想要创建的元素类型,第二个参数是自由格式的名称。最后的示例使用了一个简单的文件源-解码器-声卡输出管道,但如果有必要,您可以使用特定的调试元素。原创 2023-10-26 10:03:56 · 175 阅读 · 0 评论 -
gstreamer插件开发-The chain function
gstreamer chain函数原创 2023-10-26 10:01:42 · 109 阅读 · 0 评论 -
gstreamer插件开发-Specifying the pads
Specif在element _init()函数中,您从pad模板创建pad,该pad模板已经在_class_init()函数中的元素类中注册。创建pad之后,必须设置一个_chain()函数指针,它将接收和处理sinkpad上的输入数据。如前所述,pad是数据进出元素的端口,这使得它们在元素创建过程中成为非常重要的项。在样板代码中,我们已经看到了静态pad模板如何将pad模板注册到元素类中。在这里,我们将看到如何创建实际的元素,使用_event()函数来配置特定的格式,以及如何注册函数来让数据流过元素。原创 2023-10-26 10:00:08 · 98 阅读 · 0 评论 -
gstreamer插件开发-Constructing the Boilerplate
gstreamer插件开发中文教程原创 2023-10-24 21:33:49 · 529 阅读 · 0 评论 -
Gstreamer调试方式
Gstreamer调试方式原创 2022-06-10 16:13:50 · 541 阅读 · 0 评论