我已经下载并编译了vaapi插件集,对于某些特定情况,它工作得很好,但它也打破了我现有的许多管道。我想先修改Gstreamer以使用其他解码器。
有没有办法在不修改原始资源的情况下改变Gstreamer插件的等级?
答案 0 :(得分:2)
我没有在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);