94ad6797ed3d47291e6b880650ec2981a3008cdf
[platform/upstream/gstreamer.git] / testsuite / caps / value_intersect.c
1
2 #include <gst/gst.h>
3
4 void test1(void)
5 {
6   GValue dest = { 0 };
7   GValue src1 = { 0 };
8   GValue src2 = { 0 };
9   gboolean ret;
10
11   g_value_init(&src1, G_TYPE_INT);
12   g_value_set_int(&src1, 10);
13   g_value_init(&src2, G_TYPE_INT);
14   g_value_set_int(&src1, 20);
15   ret = gst_value_intersect(&dest, &src1, &src2);
16   g_assert(ret == 0);
17   g_print("ret = %d\n",ret);
18 }
19
20 void test2(void)
21 {
22   GValue dest = { 0 };
23   GValue src1 = { 0 };
24   GValue src2 = { 0 };
25   GValue item = { 0 };
26   gboolean ret;
27
28   g_value_init(&src1, GST_TYPE_FOURCC);
29   gst_value_set_fourcc(&src1, GST_MAKE_FOURCC('Y','U','Y','2'));
30   g_value_init(&src2, GST_TYPE_LIST);
31   g_value_init(&item, GST_TYPE_FOURCC);
32   gst_value_set_fourcc(&item, GST_MAKE_FOURCC('Y','U','Y','2'));
33   gst_value_list_append_value (&src2, &item);
34   gst_value_set_fourcc(&item, GST_MAKE_FOURCC('I','4','2','0'));
35   gst_value_list_append_value (&src2, &item);
36   gst_value_set_fourcc(&item, GST_MAKE_FOURCC('A','B','C','D'));
37   gst_value_list_append_value (&src2, &item);
38   ret = gst_value_intersect(&dest, &src1, &src2);
39   g_print("ret = %d\n",ret);
40
41   g_print("type = %s\n", g_type_name(G_VALUE_TYPE(&dest)));
42   g_print("value = %s\n", g_strdup_value_contents(&dest));
43 }
44
45 int main(int argc, char *argv[])
46 {
47
48   gst_init(&argc, &argv);
49
50   test1();
51   test2();
52
53   return 0;
54
55 }
56
57