【问题标题】:gstreamer link different sink/source caps to plugingstreamer 将不同的接收器/源上限链接到插件
【发布时间】:2015-06-23 17:43:11
【问题描述】:

我有一个可以处理原始视频的插件,并且可以在工作期间调整它的大小。 这个插件有两个(兼容的)视频输入和一个视频输出。 输入和输出的上限可能不同

但是当我尝试在 sink 和 source 使用不同的 caps 时,它无法链接。

示例

这很好用。

gst-launch-1.0 videotestsrc ! video/x-raw,format=BGR,width=800,height=600 ! my_plugin name=t ! video/x-raw,format=BGR,width=800,height=600 ! fakesink videotestsrc ! video/x-raw,format=BGR,width=800,height=600 ! t.

但这不是。 [警告:错误的管道:无法将 t 链接到 fakesink0]

gst-launch-1.0 videotestsrc ! video/x-raw,format=BGR,width=800,height=600 ! my_plugin make_small=1 name=t ! video/x-raw,format=BGR,width=750,height=600 ! fakesink videotestsrc ! video/x-raw,format=BGR,width=800,height=600 ! t.

我阅读了docs/design/draft-klass.txt 并查看了 videoscale 插件描述并更改了 my_plugin 描述

Factory Details:
  ..
  Klass                    Mixer/Effect/Converter/Video/Scaler
  ..

但它仍然不起作用。我想念什么?

编辑。我的问题是因为对所有接收器/源垫使用GST_PAD_SET_PROXY_CAPS()。根据documentation,此功能简化了事件管理并保证这些上限兼容。

【问题讨论】:

    标签: gstreamer


    【解决方案1】:

    使用GST_PAD_SET_PROXY_CAPS() 是一个答案。

    【讨论】:

    • 可以回答您自己的问题,但您应该编辑答案,使其足够完整,以便对可能遇到相同问题的其他人有用。
    • 对此感到抱歉。现在还好吗?
    猜你喜欢
    • 2017-05-25
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多