如何更改 Gstreamer 插件的等级?
How do I change the rank of a Gstreamer plugin?
我已经下载并编译了 vaapi 插件集,在某些特定情况下效果很好,但它也破坏了我现有的许多管道。我想先修改Gstreamer使用其他解码器。
有没有办法在不修改原始来源的情况下改变 Gstreamer 插件的排名?
我没有在 Gstreamer 注册表文件的配置级别看到执行此操作的方法。不过这段代码可以解决问题:
GstRegistry* reg = gst_registry_get();
GstPluginFeature* vaapi_decode = gst_registry_lookup_feature(reg, "vaapidecode");
if(vaapi_decode == NULL) {
return;
}
gst_plugin_feature_set_rank(vaapi_decode, GST_RANK_PRIMARY - 1);
gst_object_unref(vaapi_decode);
我已经下载并编译了 vaapi 插件集,在某些特定情况下效果很好,但它也破坏了我现有的许多管道。我想先修改Gstreamer使用其他解码器。
有没有办法在不修改原始来源的情况下改变 Gstreamer 插件的排名?
我没有在 Gstreamer 注册表文件的配置级别看到执行此操作的方法。不过这段代码可以解决问题:
GstRegistry* reg = gst_registry_get();
GstPluginFeature* vaapi_decode = gst_registry_lookup_feature(reg, "vaapidecode");
if(vaapi_decode == NULL) {
return;
}
gst_plugin_feature_set_rank(vaapi_decode, GST_RANK_PRIMARY - 1);
gst_object_unref(vaapi_decode);