【问题标题】:Drop buffers in gstreamer在 gstreamer 中删除缓冲区
【发布时间】:2020-12-06 18:59:00
【问题描述】:

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

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

【问题讨论】:

  • 您好,我正在尝试做同样的事情。你做到了吗?

标签: gstreamer gstreamer-1.0 python-gstreamer


【解决方案1】:

尝试将 GstProbe 用于数据缓冲区,并在满足您的条件时返回 GST_PAD_PROBE_DROPGST_PAD_PROBE_HANDLED

如果您的插件基于GstBaseTransform,您应该实现自己的transform_frame_iptransform_frame。如果有,可以回GST_BASE_TRANSFORM_FLOW_DROPPED

/**
 * 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 

【讨论】:

  • 知道如何在 Python 中做到这一点吗?我在 Python API 中找不到常量 GST_BASE_TRANSFORM_FLOW_DROPPED
猜你喜欢
  • 2013-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多