我已经下载并编译了 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);