1 | |
---|
2 | #include <gst/gst.h> |
---|
3 | #include <glib.h> |
---|
4 | |
---|
5 | void |
---|
6 | test1 (void) |
---|
7 | { |
---|
8 | GValue value1 = { 0 }; |
---|
9 | GValue value2 = { 0 }; |
---|
10 | |
---|
11 | //GValue value3 = { 0 }; |
---|
12 | //gboolean ret; |
---|
13 | |
---|
14 | g_value_init (&value1, G_TYPE_INT); |
---|
15 | g_value_set_int (&value1, 10); |
---|
16 | g_value_init (&value2, G_TYPE_INT); |
---|
17 | g_value_set_int (&value2, 20); |
---|
18 | g_assert (gst_value_compare (&value1, &value2) == GST_VALUE_LESS_THAN); |
---|
19 | g_assert (gst_value_compare (&value2, &value1) == GST_VALUE_GREATER_THAN); |
---|
20 | g_assert (gst_value_compare (&value1, &value1) == GST_VALUE_EQUAL); |
---|
21 | g_value_unset (&value1); |
---|
22 | g_value_unset (&value2); |
---|
23 | |
---|
24 | g_value_init (&value1, G_TYPE_DOUBLE); |
---|
25 | g_value_set_double (&value1, 10); |
---|
26 | g_value_init (&value2, G_TYPE_DOUBLE); |
---|
27 | g_value_set_double (&value2, 20); |
---|
28 | g_assert (gst_value_compare (&value1, &value2) == GST_VALUE_LESS_THAN); |
---|
29 | g_assert (gst_value_compare (&value2, &value1) == GST_VALUE_GREATER_THAN); |
---|
30 | g_assert (gst_value_compare (&value1, &value1) == GST_VALUE_EQUAL); |
---|
31 | g_value_unset (&value1); |
---|
32 | g_value_unset (&value2); |
---|
33 | |
---|
34 | g_value_init (&value1, G_TYPE_STRING); |
---|
35 | g_value_set_string (&value1, "a"); |
---|
36 | g_value_init (&value2, G_TYPE_STRING); |
---|
37 | g_value_set_string (&value2, "b"); |
---|
38 | g_assert (gst_value_compare (&value1, &value2) == GST_VALUE_LESS_THAN); |
---|
39 | g_assert (gst_value_compare (&value2, &value1) == GST_VALUE_GREATER_THAN); |
---|
40 | g_assert (gst_value_compare (&value1, &value1) == GST_VALUE_EQUAL); |
---|
41 | g_value_unset (&value1); |
---|
42 | g_value_unset (&value2); |
---|
43 | |
---|
44 | g_value_init (&value1, GST_TYPE_FOURCC); |
---|
45 | gst_value_set_fourcc (&value1, GST_MAKE_FOURCC ('a', 'b', 'c', 'd')); |
---|
46 | g_value_init (&value2, GST_TYPE_FOURCC); |
---|
47 | gst_value_set_fourcc (&value2, GST_MAKE_FOURCC ('1', '2', '3', '4')); |
---|
48 | g_assert (gst_value_compare (&value1, &value2) == GST_VALUE_UNORDERED); |
---|
49 | g_assert (gst_value_compare (&value1, &value1) == GST_VALUE_EQUAL); |
---|
50 | g_value_unset (&value1); |
---|
51 | g_value_unset (&value2); |
---|
52 | |
---|
53 | /* comparing 2/3 with 3/4 */ |
---|
54 | g_value_init (&value1, GST_TYPE_FRACTION); |
---|
55 | gst_value_set_fraction (&value1, 2, 3); |
---|
56 | g_value_init (&value2, GST_TYPE_FRACTION); |
---|
57 | gst_value_set_fraction (&value2, 3, 4); |
---|
58 | g_assert (gst_value_compare (&value1, &value2) == GST_VALUE_LESS_THAN); |
---|
59 | g_assert (gst_value_compare (&value2, &value1) == GST_VALUE_GREATER_THAN); |
---|
60 | g_assert (gst_value_compare (&value1, &value1) == GST_VALUE_EQUAL); |
---|
61 | g_value_unset (&value1); |
---|
62 | g_value_unset (&value2); |
---|
63 | |
---|
64 | /* comparing -4/5 with 2/-3 */ |
---|
65 | g_value_init (&value1, GST_TYPE_FRACTION); |
---|
66 | gst_value_set_fraction (&value1, -4, 5); |
---|
67 | g_value_init (&value2, GST_TYPE_FRACTION); |
---|
68 | gst_value_set_fraction (&value2, 2, -3); |
---|
69 | g_assert (gst_value_compare (&value1, &value2) == GST_VALUE_LESS_THAN); |
---|
70 | g_assert (gst_value_compare (&value2, &value1) == GST_VALUE_GREATER_THAN); |
---|
71 | g_assert (gst_value_compare (&value1, &value1) == GST_VALUE_EQUAL); |
---|
72 | g_value_unset (&value1); |
---|
73 | g_value_unset (&value2); |
---|
74 | |
---|
75 | /* comparing 10/100 with 200/2000 */ |
---|
76 | g_value_init (&value1, GST_TYPE_FRACTION); |
---|
77 | gst_value_set_fraction (&value1, 10, 100); |
---|
78 | g_value_init (&value2, GST_TYPE_FRACTION); |
---|
79 | gst_value_set_fraction (&value2, 200, 2000); |
---|
80 | g_assert (gst_value_compare (&value1, &value2) == GST_VALUE_EQUAL); |
---|
81 | g_value_unset (&value1); |
---|
82 | g_value_unset (&value2); |
---|
83 | |
---|
84 | /* comparing -4/5 with 2/-3 */ |
---|
85 | g_value_init (&value1, GST_TYPE_FRACTION); |
---|
86 | gst_value_set_fraction (&value1, -4, 5); |
---|
87 | g_value_init (&value2, GST_TYPE_FRACTION); |
---|
88 | gst_value_set_fraction (&value2, 2, -3); |
---|
89 | g_assert (gst_value_compare (&value1, &value2) == GST_VALUE_LESS_THAN); |
---|
90 | g_assert (gst_value_compare (&value2, &value1) == GST_VALUE_GREATER_THAN); |
---|
91 | g_assert (gst_value_compare (&value1, &value1) == GST_VALUE_EQUAL); |
---|
92 | g_value_unset (&value1); |
---|
93 | g_value_unset (&value2); |
---|
94 | |
---|
95 | } |
---|
96 | |
---|
97 | int |
---|
98 | main (int argc, char *argv[]) |
---|
99 | { |
---|
100 | |
---|
101 | gst_init (&argc, &argv); |
---|
102 | |
---|
103 | test1 (); |
---|
104 | |
---|
105 | return 0; |
---|
106 | } |
---|