1#include <stdio.h>
2#include <glib.h>
3#include <glib-object.h>
4#include "mixvideo.h"
5#include "mixdisplayx11.h"
6
7int
8main (int argc, char **argv)
9{
10  MIX_RESULT ret;
11
12  g_type_init ();
13
14/* test MixDisplay */
15  {
16
17    MixDisplayX11 *x11_clone = NULL;
18    MixDisplayX11 *x11 = mix_displayx11_new ();
19
20    MixDisplay *base = MIX_DISPLAY (x11);
21
22    gboolean flag = MIX_IS_DISPLAYX11 (base);
23
24    Drawable drawable = 1024;
25
26    mix_displayx11_set_drawable (x11, drawable);
27
28/* clone x11 */
29
30    x11_clone = (MixDisplayX11 *) mix_display_dup (MIX_DISPLAY (x11));
31
32    base = MIX_DISPLAY (x11_clone);
33
34    flag = MIX_IS_DISPLAYX11 (base);
35
36    mix_displayx11_get_drawable (x11_clone, &drawable);
37
38/* TODO: add more test cases */
39
40/* release */
41    mix_display_unref (MIX_DISPLAY (x11));
42    mix_display_unref (MIX_DISPLAY (x11_clone));
43    g_print ("MixDisplayX11 test is done!\n");
44  }
45
46/* test MixVideoInitParams */
47  {
48    MixVideoInitParams *init_params = mix_videoinitparams_new ();
49
50    MixDisplayX11 *x11 = mix_displayx11_new ();
51    mix_displayx11_set_drawable (x11, 1024);
52
53    mix_videoinitparams_set_display (init_params, MIX_DISPLAY (x11));
54
55/* release */
56    mix_params_unref (MIX_PARAMS (init_params));
57    mix_display_unref (MIX_DISPLAY (x11));
58
59    g_print ("MixVideoInitParams test is done!\n");
60  }
61
62/* test MixVideo */
63
64  {
65    MixVideo *video = mix_video_new ();
66    MixVideoInitParams *init_params = mix_videoinitparams_new ();
67    MixDisplayX11 *x11 = mix_displayx11_new ();
68    MixDrmParams *drm = mix_drmparams_new ();
69    MixCodecMode mode = MIX_CODEC_MODE_DECODE;
70
71    mix_displayx11_set_drawable (x11, 1024);
72    mix_videoinitparams_set_display (init_params, MIX_DISPLAY (x11));
73
74    mix_video_initialize (video, mode, init_params, drm);
75
76/* TODO: add more test cases */
77
78/* unref the objects. */
79
80    mix_params_unref (MIX_PARAMS (init_params));
81    mix_params_unref (MIX_PARAMS (drm));
82    mix_display_unref (MIX_DISPLAY (x11));
83    g_object_unref (G_OBJECT (video));
84
85    g_print ("MixVideo test is done!\n");
86  }
87}
88