gstreamer中的Drop缓冲区
我正在开发一个gstreamer应用程序(插件),它从视频流接收,分析每个缓冲区的特定条件,然后如果条件存在,将缓冲区传递给插件源。如果给定缓冲区的条件不存在,则应删除该缓冲区,插件源不应接收该缓冲区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文档和教程时,我找不到让我的插件“删除”缓冲区的方法。尝试将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