1use super::*;
2
3extern "C" {
4 #[link_name = "libspa_rs_types"]
5 pub static spa_types: *const spa_type_info;
6 #[link_name = "libspa_rs_type_direction"]
7 pub static spa_type_direction: *const spa_type_info;
8 #[link_name = "libspa_rs_type_choice"]
9 pub static spa_type_choice: *const spa_type_info;
10 #[link_name = "libspa_rs_type_device_event_id"]
11 pub static spa_type_device_event_id: *const spa_type_info;
12 #[link_name = "libspa_rs_type_device_event"]
13 pub static spa_type_device_event: *const spa_type_info;
14 #[link_name = "libspa_rs_type_io"]
15 pub static spa_type_io: *const spa_type_info;
16 #[link_name = "libspa_rs_type_node_event_id"]
17 pub static spa_type_node_event_id: *const spa_type_info;
18 #[link_name = "libspa_rs_type_node_event"]
19 pub static spa_type_node_event: *const spa_type_info;
20 #[link_name = "libspa_rs_type_node_command_id"]
21 pub static spa_type_node_command_id: *const spa_type_info;
22 #[link_name = "libspa_rs_type_node_command"]
23 pub static spa_type_node_command: *const spa_type_info;
24 #[link_name = "libspa_rs_type_data_type"]
25 pub static spa_type_data_type: *const spa_type_info;
26 #[link_name = "libspa_rs_type_meta_type"]
27 pub static spa_type_meta_type: *const spa_type_info;
28 #[link_name = "libspa_rs_type_control"]
29 pub static spa_type_control: *const spa_type_info;
30 #[link_name = "libspa_rs_type_param"]
31 pub static spa_type_param: *const spa_type_info;
32 #[link_name = "libspa_rs_type_prop_float_array"]
33 pub static spa_type_prop_float_array: *const spa_type_info;
34 #[link_name = "libspa_rs_type_prop_channel_map"]
35 pub static spa_type_prop_channel_map: *const spa_type_info;
36 #[link_name = "libspa_rs_type_prop_iec958_codec"]
37 pub static spa_type_prop_iec958_codec: *const spa_type_info;
38 #[link_name = "libspa_rs_type_param_bitorder"]
39 pub static spa_type_param_bitorder: *const spa_type_info;
40 #[link_name = "libspa_rs_type_props"]
41 pub static spa_type_props: *const spa_type_info;
42 #[link_name = "libspa_rs_type_prop_info"]
43 pub static spa_type_prop_info: *const spa_type_info;
44 #[link_name = "libspa_rs_type_param_meta"]
45 pub static spa_type_param_meta: *const spa_type_info;
46 #[link_name = "libspa_rs_type_param_io"]
47 pub static spa_type_param_io: *const spa_type_info;
48 #[link_name = "libspa_rs_type_media_type"]
49 pub static spa_type_media_type: *const spa_type_info;
50 #[link_name = "libspa_rs_type_media_subtype"]
51 pub static spa_type_media_subtype: *const spa_type_info;
52 #[link_name = "libspa_rs_type_format"]
53 pub static spa_type_format: *const spa_type_info;
54 #[link_name = "libspa_rs_type_param_buffers"]
55 pub static spa_type_param_buffers: *const spa_type_info;
56 #[link_name = "libspa_rs_type_param_availability"]
57 pub static spa_type_param_availability: *const spa_type_info;
58 #[link_name = "libspa_rs_type_param_profile"]
59 pub static spa_type_param_profile: *const spa_type_info;
60 #[link_name = "libspa_rs_type_param_port_config_mode"]
61 pub static spa_type_param_port_config_mode: *const spa_type_info;
62 #[link_name = "libspa_rs_type_param_port_config"]
63 pub static spa_type_param_port_config: *const spa_type_info;
64 #[link_name = "libspa_rs_type_param_route"]
65 pub static spa_type_param_route: *const spa_type_info;
66 #[link_name = "libspa_rs_type_profiler"]
67 pub static spa_type_profiler: *const spa_type_info;
68 #[link_name = "libspa_rs_type_param_latency"]
69 pub static spa_type_param_latency: *const spa_type_info;
70 #[link_name = "libspa_rs_type_param_process_latency"]
71 pub static spa_type_param_process_latency: *const spa_type_info;
72 #[link_name = "libspa_rs_type_audio_format"]
73 pub static spa_type_audio_format: *const spa_type_info;
74 #[link_name = "libspa_rs_type_audio_flags"]
75 pub static spa_type_audio_flags: *const spa_type_info;
76 #[link_name = "libspa_rs_type_audio_channel"]
77 pub static spa_type_audio_channel: *const spa_type_info;
78 #[link_name = "libspa_rs_type_audio_iec958_codec"]
79 pub static spa_type_audio_iec958_codec: *const spa_type_info;
80 #[link_name = "libspa_rs_type_bluetooth_audio_codec"]
81 pub static spa_type_bluetooth_audio_codec: *const spa_type_info;
82 #[link_name = "libspa_rs_type_video_format"]
83 pub static spa_type_video_format: *const spa_type_info;
84 #[cfg(feature = "v0_3_65")]
85 #[link_name = "libspa_rs_type_video_flags"]
86 pub static spa_type_video_flags: *const spa_type_info;
87 #[cfg(feature = "v0_3_65")]
88 #[link_name = "libspa_rs_type_video_interlace_mode"]
89 pub static spa_type_video_interlace_mode: *const spa_type_info;
90}
91
92#[cfg(test)]
93mod test {
94 use crate::{spa_type_media_type, SPA_MEDIA_TYPE_audio};
95
96 use std::ffi;
97
98 #[test]
99 fn test_libspa_rs_debug_type_find() {
100 unsafe {
101 let type_info = super::spa_debug_type_find(spa_type_media_type, SPA_MEDIA_TYPE_audio);
102 assert_eq!(
103 ffi::CStr::from_ptr((*type_info).name),
104 c"Spa:Enum:MediaType:audio"
105 );
106 }
107 }
108
109 #[test]
110 fn test_libspa_rs_debug_type_find_name() {
111 unsafe {
112 let name = super::spa_debug_type_find_name(spa_type_media_type, SPA_MEDIA_TYPE_audio);
113 assert_eq!(ffi::CStr::from_ptr(name), c"Spa:Enum:MediaType:audio");
114 }
115 }
116
117 #[test]
118 fn test_libspa_rs_debug_type_find_short_name() {
119 unsafe {
120 let name =
121 super::spa_debug_type_find_short_name(spa_type_media_type, SPA_MEDIA_TYPE_audio);
122 assert_eq!(ffi::CStr::from_ptr(name), c"audio");
123 }
124 }
125}