summaryrefslogtreecommitdiff
path: root/tests/test-decode.c
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2012-01-12 15:34:59 +0100
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>2012-01-12 16:09:08 +0100
commit58e5534c5650d95531b34a67c41481e1516f75ca (patch)
treeef1360ae2855c7443c19ab5ac526e27778efedb4 /tests/test-decode.c
parent674ea91faa342bdd2311d78dd71a713297163ffd (diff)
tests: check for shared VA displays (display cache).
Diffstat (limited to 'tests/test-decode.c')
-rw-r--r--tests/test-decode.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/tests/test-decode.c b/tests/test-decode.c
index b913e08f..0aece942 100644
--- a/tests/test-decode.c
+++ b/tests/test-decode.c
@@ -29,6 +29,9 @@
#include "test-h264.h"
#include "test-vc1.h"
+/* Set to 1 to check display cache works (shared VA display) */
+#define CHECK_DISPLAY_CACHE 1
+
typedef void (*GetVideoInfoFunc)(VideoDecodeInfo *info);
typedef struct _CodecDefs CodecDefs;
@@ -76,7 +79,7 @@ int
main(int argc, char *argv[])
{
GOptionContext *options;
- GstVaapiDisplay *display;
+ GstVaapiDisplay *display, *display2;
GstVaapiWindow *window;
GstVaapiDecoder *decoder;
GstCaps *decoder_caps;
@@ -109,6 +112,13 @@ main(int argc, char *argv[])
if (!display)
g_error("could not create VA display");
+ if (CHECK_DISPLAY_CACHE)
+ display2 = gst_vaapi_display_x11_new(NULL);
+ else
+ display2 = g_object_ref(display);
+ if (!display2)
+ g_error("could not create second VA display");
+
window = gst_vaapi_window_x11_new(display, win_width, win_height);
if (!window)
g_error("could not create window");
@@ -163,6 +173,7 @@ main(int argc, char *argv[])
g_object_unref(decoder);
g_object_unref(window);
g_object_unref(display);
+ g_object_unref(display2);
g_free(g_codec_str);
gst_deinit();
return 0;