如何在 Gstreamer 中检索 属性 个名称
How to retrieve Property names in Gstreamer
我想检索 C++ 中 GstElement 的元素 属性 名称。 gst-inspect 写了关于插件的所有细节。
我可以在代码中检索像这样的工厂和插件详细信息。
工厂详情:
插件详情:
通过写作,
gst_plugin_feature_get_name(GST_PLUGIN_FEATURE(工厂)),
gst_element_factory_get_metadata(工厂,GST_ELEMENT_METADATA_KLASS),
gst_element_factory_get_metadata(工厂,GST_ELEMENT_METADATA_DESCRIPTION),
gst_element_factory_get_metadata(工厂,GST_ELEMENT_METADATA_LONGNAME));
但是,我在 Gstreamer 中找不到任何关于 属性 详细信息(元素属性部分)的函数。
我希望 C++ 代码像
gst_plugin_feature_get_name(GST_PLUGIN_FEATURE(工厂)),
gst_element_factory_get_metadata(工厂,GST_ELEMENT_METADATA_KLASS),
gst_element_factory_get_metadata(工厂,GST_ELEMENT_METADATA_DESCRIPTION),
gst_element_factory_get_metadata(工厂,GST_ELEMENT_METADATA_LONGNAME));
那。
我想检索 GstElement 的所有 属性 名称。
例如,对于 openh264enc
比特率、复杂度、gop-size 等
我在 post 问题后解决了这个问题...但是,由于它可能对其他人有用,所以我正在 post 寻找答案。
GObjectClass* objClass = G_OBJECT_GET_CLASS(*element);
guint n_props;
GParamSpec** props;
props = g_object_class_list_properties(objClass,&n_props);
if(objClass != nullptr){
if(props != nullptr){
for (guint i = 0; i < n_props; i++) {
if(props[i] != nullptr)
qInfo() << props[i]->name;
}
}else{
qWarning() << "Element props are NULL!";
}
}else{
qWarning() << "Obj Class is NULL!";
}
我想检索 C++ 中 GstElement 的元素 属性 名称。 gst-inspect 写了关于插件的所有细节。
我可以在代码中检索像这样的工厂和插件详细信息。
工厂详情:
插件详情:
通过写作,
gst_plugin_feature_get_name(GST_PLUGIN_FEATURE(工厂)),
gst_element_factory_get_metadata(工厂,GST_ELEMENT_METADATA_KLASS),
gst_element_factory_get_metadata(工厂,GST_ELEMENT_METADATA_DESCRIPTION),
gst_element_factory_get_metadata(工厂,GST_ELEMENT_METADATA_LONGNAME));
但是,我在 Gstreamer 中找不到任何关于 属性 详细信息(元素属性部分)的函数。
我希望 C++ 代码像 gst_plugin_feature_get_name(GST_PLUGIN_FEATURE(工厂)), gst_element_factory_get_metadata(工厂,GST_ELEMENT_METADATA_KLASS), gst_element_factory_get_metadata(工厂,GST_ELEMENT_METADATA_DESCRIPTION), gst_element_factory_get_metadata(工厂,GST_ELEMENT_METADATA_LONGNAME)); 那。
我想检索 GstElement 的所有 属性 名称。
例如,对于 openh264enc
比特率、复杂度、gop-size 等
我在 post 问题后解决了这个问题...但是,由于它可能对其他人有用,所以我正在 post 寻找答案。
GObjectClass* objClass = G_OBJECT_GET_CLASS(*element);
guint n_props;
GParamSpec** props;
props = g_object_class_list_properties(objClass,&n_props);
if(objClass != nullptr){
if(props != nullptr){
for (guint i = 0; i < n_props; i++) {
if(props[i] != nullptr)
qInfo() << props[i]->name;
}
}else{
qWarning() << "Element props are NULL!";
}
}else{
qWarning() << "Obj Class is NULL!";
}