代码之家  ›  专栏  ›  技术社区  ›  Aidenhjj

GStreamer GstVideoTestSrcPattern枚举-它在哪里?

  •  1
  • Aidenhjj  · 技术社区  · 5 年前

    我正试图为我的工作设定“模式” videotestsrc :

    #include <gst/gst.h>
    
    GstElement *pipeline, *source, *sink;
    ...
    source = gst_element_factory_make("videotestsrc", "source");
    g_object_set(source, "pattern", GST_VIDEO_TEST_SRC_BALL, NULL);
    

    我得到:

    error: ‘GST_VIDEO_TEST_SRC_BALL’ undeclared (first use in this function)
    

    我需要包含什么标题才能为 GstVideoTestSrcPattern 枚举?我找了一下,找不到了。

    0 回复  |  直到 5 年前
        1
  •  3
  •   nielsdg    4 年前

    这个 GstVideoTestSrcPattern enum在gst插件库中的 gst/videotestsrc/gstvideotestsrc。H 标题。这是一个不以任何方式公开的头(因为这意味着GstVideoTestSrc结构将成为公共API/ABI的一部分)。因此,不能使用实际的枚举符号。

    要解决这个问题,可以使用相应的整数值(在本例中为18)。如果你真的在设置属性,比如 gst-launch-1.0 或者它的C等价物 gst_parse_launch() ,你可以使用 videotestsrc pattern=ball ,这也会起作用。

    (注意:您甚至可以在 gst_value_deserialize() ,但仍需要输入一个在编译时未检查的字符串)

    最后,如果不确定枚举的各种值是什么,可以使用 gst-inspect-1.0 videotestsrc 作为备忘单。

    推荐文章