summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gst/vaapi/gstvaapipluginbase.c5
-rw-r--r--gst/vaapi/gstvaapipluginbase.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/gst/vaapi/gstvaapipluginbase.c b/gst/vaapi/gstvaapipluginbase.c
index a60498df..8c2b84aa 100644
--- a/gst/vaapi/gstvaapipluginbase.c
+++ b/gst/vaapi/gstvaapipluginbase.c
@@ -247,6 +247,9 @@ gst_vaapi_plugin_base_init (GstVaapiPluginBase * plugin,
if (!(GST_OBJECT_FLAGS (plugin) & GST_ELEMENT_FLAG_SINK))
plugin->srcpad = gst_element_get_static_pad (GST_ELEMENT (plugin), "src");
gst_video_info_init (&plugin->srcpad_info);
+
+ plugin->enable_direct_rendering =
+ (g_getenv ("GST_VAAPI_ENABLE_DIRECT_RENDERING") != NULL);
}
void
@@ -592,7 +595,7 @@ ensure_srcpad_allocator (GstVaapiPluginBase * plugin, GstVideoInfo * vinfo,
gst_vaapi_dmabuf_allocator_new (plugin->display, vinfo,
get_dmabuf_surface_allocation_flags (), GST_PAD_SRC);
}
- } else {
+ } else if (plugin->enable_direct_rendering) {
usage_flag = GST_VAAPI_IMAGE_USAGE_FLAG_DIRECT_RENDER;
GST_INFO_OBJECT (plugin, "enabling direct rendering in source allocator");
}
diff --git a/gst/vaapi/gstvaapipluginbase.h b/gst/vaapi/gstvaapipluginbase.h
index bfeeb107..3346ed40 100644
--- a/gst/vaapi/gstvaapipluginbase.h
+++ b/gst/vaapi/gstvaapipluginbase.h
@@ -149,6 +149,8 @@ struct _GstVaapiPluginBase
GstAllocator *sinkpad_allocator;
GstAllocator *srcpad_allocator;
gboolean srcpad_can_dmabuf;
+
+ gboolean enable_direct_rendering;
};
struct _GstVaapiPluginBaseClass