gstreamer中的Drop缓冲区

gstreamer中的Drop缓冲区,gstreamer,gstreamer-1.0,python-gstreamer,Gstreamer,Gstreamer 1.0,Python Gstreamer,我正在开发一个gstreamer应用程序(插件),它从视频流接收,分析每个缓冲区的特定条件,然后如果条件存在,将缓冲区传递给插件源。如果给定缓冲区的条件不存在,则应删除该缓冲区,插件源不应接收该缓冲区 作为gstreamer的新手,在浏览gstreamer文档和教程时,我找不到让我的插件“删除”缓冲区的方法。尝试将GstProbe用于数据缓冲区,并在满足您的条件时返回GST\u PAD\u PROBE\u drop或GST\u PAD\u PROBE\u HANDLED 如果你的插件基于GstB

我正在开发一个gstreamer应用程序(插件),它从视频流接收,分析每个缓冲区的特定条件,然后如果条件存在,将缓冲区传递给插件源。如果给定缓冲区的条件不存在,则应删除该缓冲区,插件源不应接收该缓冲区


作为gstreamer的新手,在浏览gstreamer文档和教程时,我找不到让我的插件“删除”缓冲区的方法。

尝试将GstProbe用于数据缓冲区,并在满足您的条件时返回
GST\u PAD\u PROBE\u drop
GST\u PAD\u PROBE\u HANDLED

如果你的插件基于
GstBaseTransform
,你应该实现你自己的
transform\u frame\u ip
transform\u frame
。如果是,您可以返回
GST\u BASE\u TRANSFORM\u FLOW\u drop

/**
 * GST_BASE_TRANSFORM_FLOW_DROPPED:
 *
 * A #GstFlowReturn that can be returned from transform and transform_ip to
 * indicate that no output buffer was generated.
 */
#define GST_BASE_TRANSFORM_FLOW_DROPPED   GST_FLOW_CUSTOM_SUCCESS