如何以编程方式确定 gstreamer 元素是否为 Bin?
How to programatically determine if a gstreamer Element is a Bin?
我可以看到存在用于迭代 bin 中的 GstElement 的方法...但是对于任何给定的 GstElement 是否有办法以编程方式确定它是否实际上是一个 bin?
所有GstElement
都是从GLibGObject
类型派生出来的,所以可以使用GLibG_OBJECT_TYPE()
宏来检查类型:
if (G_OBJECT_TYPE(element) == GST_TYPE_BIN) ...
更简单的方法是使用在 gstbin.h:
中声明的便捷宏
if (GST_IS_BIN(element)) ...
我可以看到存在用于迭代 bin 中的 GstElement 的方法...但是对于任何给定的 GstElement 是否有办法以编程方式确定它是否实际上是一个 bin?
所有GstElement
都是从GLibGObject
类型派生出来的,所以可以使用GLibG_OBJECT_TYPE()
宏来检查类型:
if (G_OBJECT_TYPE(element) == GST_TYPE_BIN) ...
更简单的方法是使用在 gstbin.h:
中声明的便捷宏if (GST_IS_BIN(element)) ...