summaryrefslogtreecommitdiff
path: root/tests/test-decode.c
diff options
context:
space:
mode:
authorgb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>2010-05-03 16:54:23 +0000
committerGwenole Beauchesne <gbeauchesne@splitted-desktop.com>2010-09-20 12:55:43 +0200
commit585a273532261a1349a04be5f569e1e8f215d49c (patch)
treefd44a006366a052dc6bb63679227554ecd9f465e /tests/test-decode.c
parent3ed565553517954893c7062e6e199b04fe7b6e38 (diff)
Use gst_vaapi_decoder_ffmpeg_new_from_caps().
Diffstat (limited to 'tests/test-decode.c')
-rw-r--r--tests/test-decode.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/tests/test-decode.c b/tests/test-decode.c
index 0fea7501..c5f7f918 100644
--- a/tests/test-decode.c
+++ b/tests/test-decode.c
@@ -79,6 +79,7 @@ main(int argc, char *argv[])
GstVaapiWindow *window;
GstVaapiDecoder *decoder;
GstCaps *decoder_caps;
+ GstStructure *structure;
GstVaapiDecoderStatus status;
const CodecDefs *codec;
GstVaapiSurfaceProxy *proxy;
@@ -111,7 +112,20 @@ main(int argc, char *argv[])
g_error("could not create window");
codec->get_video_info(&info);
- decoder = gst_vaapi_decoder_ffmpeg_new(display, gst_vaapi_profile_get_codec(info.profile), NULL);
+ decoder_caps = gst_vaapi_profile_get_caps(info.profile);
+ if (!decoder_caps)
+ g_error("could not create decoder caps");
+
+ structure = gst_caps_get_structure(decoder_caps, 0);
+ if (info.width > 0 && info.height > 0)
+ gst_structure_set(
+ structure,
+ "width", G_TYPE_INT, info.width,
+ "height", G_TYPE_INT, info.height,
+ NULL
+ );
+
+ decoder = gst_vaapi_decoder_ffmpeg_new_from_caps(display, decoder_caps);
if (!decoder)
g_error("could not create FFmpeg decoder");
@@ -136,6 +150,7 @@ main(int argc, char *argv[])
pause();
g_object_unref(proxy);
+ gst_caps_unref(decoder_caps);
g_object_unref(decoder);
g_object_unref(window);
g_object_unref(display);