mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 01:00:37 +00:00
vaapidecodebin: try to get display from decoder
Rather than create a dummy display, if none has propagated as a context, we should try to get the one from vaapidecode. As the bin is already in READY state, the vaapidecode should be also in that state. That means that the contexts have been negotiated, and it should have already a display. Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com> https://bugzilla.gnome.org/show_bug.cgi?id=757957
This commit is contained in:
parent
bd4395ce9f
commit
7c71ffccc0
1 changed files with 9 additions and 2 deletions
|
@ -28,6 +28,7 @@
|
|||
#include "gstvaapipluginutil.h"
|
||||
#include "gstvaapidecodebin.h"
|
||||
#include "gstvaapivideocontext.h"
|
||||
#include "gstvaapipluginbase.h"
|
||||
|
||||
#define GST_PLUGIN_NAME "vaapidecodebin"
|
||||
#define GST_PLUGIN_DESC "A Bin of VA-API elements: vaapidecode ! queue ! vaapipostproc"
|
||||
|
@ -197,8 +198,14 @@ ensure_vpp (GstVaapiDecodeBin * vaapidecbin)
|
|||
if (vaapidecbin->has_vpp != HAS_VPP_UNKNOWN)
|
||||
return TRUE;
|
||||
|
||||
GST_INFO_OBJECT (vaapidecbin, "Creating a dummy display to test for vpp");
|
||||
display = gst_vaapi_create_test_display ();
|
||||
display = GST_VAAPI_PLUGIN_BASE_DISPLAY (vaapidecbin->decoder);
|
||||
if (display) {
|
||||
GST_INFO_OBJECT (vaapidecbin, "Got display from vaapidecode");
|
||||
gst_vaapi_display_ref (display);
|
||||
} else {
|
||||
GST_INFO_OBJECT (vaapidecbin, "Creating a dummy display to test for vpp");
|
||||
display = gst_vaapi_create_test_display ();
|
||||
}
|
||||
if (!display)
|
||||
return FALSE;
|
||||
|
||||
|
|
Loading…
Reference in a new issue