1use crate::ffi;
7use glib::{prelude::*, translate::*, GStr};
8
9#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
10#[non_exhaustive]
11#[doc(alias = "GstAudioVisualizerShader")]
12pub enum AudioVisualizerShader {
13 #[doc(alias = "GST_AUDIO_VISUALIZER_SHADER_NONE")]
14 None,
15 #[doc(alias = "GST_AUDIO_VISUALIZER_SHADER_FADE")]
16 Fade,
17 #[doc(alias = "GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_UP")]
18 FadeAndMoveUp,
19 #[doc(alias = "GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_DOWN")]
20 FadeAndMoveDown,
21 #[doc(alias = "GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_LEFT")]
22 FadeAndMoveLeft,
23 #[doc(alias = "GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_RIGHT")]
24 FadeAndMoveRight,
25 #[doc(alias = "GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_OUT")]
26 FadeAndMoveHorizOut,
27 #[doc(alias = "GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_IN")]
28 FadeAndMoveHorizIn,
29 #[doc(alias = "GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_OUT")]
30 FadeAndMoveVertOut,
31 #[doc(alias = "GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_IN")]
32 FadeAndMoveVertIn,
33 #[doc(hidden)]
34 __Unknown(i32),
35}
36
37#[doc(hidden)]
38impl IntoGlib for AudioVisualizerShader {
39 type GlibType = ffi::GstAudioVisualizerShader;
40
41 #[inline]
42 fn into_glib(self) -> ffi::GstAudioVisualizerShader {
43 match self {
44 Self::None => ffi::GST_AUDIO_VISUALIZER_SHADER_NONE,
45 Self::Fade => ffi::GST_AUDIO_VISUALIZER_SHADER_FADE,
46 Self::FadeAndMoveUp => ffi::GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_UP,
47 Self::FadeAndMoveDown => ffi::GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_DOWN,
48 Self::FadeAndMoveLeft => ffi::GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_LEFT,
49 Self::FadeAndMoveRight => ffi::GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_RIGHT,
50 Self::FadeAndMoveHorizOut => ffi::GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_OUT,
51 Self::FadeAndMoveHorizIn => ffi::GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_IN,
52 Self::FadeAndMoveVertOut => ffi::GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_OUT,
53 Self::FadeAndMoveVertIn => ffi::GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_IN,
54 Self::__Unknown(value) => value,
55 }
56 }
57}
58
59#[doc(hidden)]
60impl FromGlib<ffi::GstAudioVisualizerShader> for AudioVisualizerShader {
61 #[inline]
62 unsafe fn from_glib(value: ffi::GstAudioVisualizerShader) -> Self {
63 skip_assert_initialized!();
64
65 match value {
66 ffi::GST_AUDIO_VISUALIZER_SHADER_NONE => Self::None,
67 ffi::GST_AUDIO_VISUALIZER_SHADER_FADE => Self::Fade,
68 ffi::GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_UP => Self::FadeAndMoveUp,
69 ffi::GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_DOWN => Self::FadeAndMoveDown,
70 ffi::GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_LEFT => Self::FadeAndMoveLeft,
71 ffi::GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_RIGHT => Self::FadeAndMoveRight,
72 ffi::GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_OUT => Self::FadeAndMoveHorizOut,
73 ffi::GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_IN => Self::FadeAndMoveHorizIn,
74 ffi::GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_OUT => Self::FadeAndMoveVertOut,
75 ffi::GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_IN => Self::FadeAndMoveVertIn,
76 value => Self::__Unknown(value),
77 }
78 }
79}
80
81impl StaticType for AudioVisualizerShader {
82 #[inline]
83 #[doc(alias = "gst_audio_visualizer_shader_get_type")]
84 fn static_type() -> glib::Type {
85 unsafe { from_glib(ffi::gst_audio_visualizer_shader_get_type()) }
86 }
87}
88
89impl glib::HasParamSpec for AudioVisualizerShader {
90 type ParamSpec = glib::ParamSpecEnum;
91 type SetValue = Self;
92 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
93
94 fn param_spec_builder() -> Self::BuilderFn {
95 Self::ParamSpec::builder_with_default
96 }
97}
98
99impl glib::value::ValueType for AudioVisualizerShader {
100 type Type = Self;
101}
102
103unsafe impl<'a> glib::value::FromValue<'a> for AudioVisualizerShader {
104 type Checker = glib::value::GenericValueTypeChecker<Self>;
105
106 #[inline]
107 unsafe fn from_value(value: &'a glib::Value) -> Self {
108 skip_assert_initialized!();
109 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
110 }
111}
112
113impl ToValue for AudioVisualizerShader {
114 #[inline]
115 fn to_value(&self) -> glib::Value {
116 let mut value = glib::Value::for_value_type::<Self>();
117 unsafe {
118 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
119 }
120 value
121 }
122
123 #[inline]
124 fn value_type(&self) -> glib::Type {
125 Self::static_type()
126 }
127}
128
129impl From<AudioVisualizerShader> for glib::Value {
130 #[inline]
131 fn from(v: AudioVisualizerShader) -> Self {
132 skip_assert_initialized!();
133 ToValue::to_value(&v)
134 }
135}
136
137#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
138#[non_exhaustive]
139#[doc(alias = "GstDiscovererResult")]
140pub enum DiscovererResult {
141 #[doc(alias = "GST_DISCOVERER_OK")]
142 Ok,
143 #[doc(alias = "GST_DISCOVERER_URI_INVALID")]
144 UriInvalid,
145 #[doc(alias = "GST_DISCOVERER_ERROR")]
146 Error,
147 #[doc(alias = "GST_DISCOVERER_TIMEOUT")]
148 Timeout,
149 #[doc(alias = "GST_DISCOVERER_BUSY")]
150 Busy,
151 #[doc(alias = "GST_DISCOVERER_MISSING_PLUGINS")]
152 MissingPlugins,
153 #[doc(hidden)]
154 __Unknown(i32),
155}
156
157#[doc(hidden)]
158impl IntoGlib for DiscovererResult {
159 type GlibType = ffi::GstDiscovererResult;
160
161 #[inline]
162 fn into_glib(self) -> ffi::GstDiscovererResult {
163 match self {
164 Self::Ok => ffi::GST_DISCOVERER_OK,
165 Self::UriInvalid => ffi::GST_DISCOVERER_URI_INVALID,
166 Self::Error => ffi::GST_DISCOVERER_ERROR,
167 Self::Timeout => ffi::GST_DISCOVERER_TIMEOUT,
168 Self::Busy => ffi::GST_DISCOVERER_BUSY,
169 Self::MissingPlugins => ffi::GST_DISCOVERER_MISSING_PLUGINS,
170 Self::__Unknown(value) => value,
171 }
172 }
173}
174
175#[doc(hidden)]
176impl FromGlib<ffi::GstDiscovererResult> for DiscovererResult {
177 #[inline]
178 unsafe fn from_glib(value: ffi::GstDiscovererResult) -> Self {
179 skip_assert_initialized!();
180
181 match value {
182 ffi::GST_DISCOVERER_OK => Self::Ok,
183 ffi::GST_DISCOVERER_URI_INVALID => Self::UriInvalid,
184 ffi::GST_DISCOVERER_ERROR => Self::Error,
185 ffi::GST_DISCOVERER_TIMEOUT => Self::Timeout,
186 ffi::GST_DISCOVERER_BUSY => Self::Busy,
187 ffi::GST_DISCOVERER_MISSING_PLUGINS => Self::MissingPlugins,
188 value => Self::__Unknown(value),
189 }
190 }
191}
192
193impl StaticType for DiscovererResult {
194 #[inline]
195 #[doc(alias = "gst_discoverer_result_get_type")]
196 fn static_type() -> glib::Type {
197 unsafe { from_glib(ffi::gst_discoverer_result_get_type()) }
198 }
199}
200
201impl glib::HasParamSpec for DiscovererResult {
202 type ParamSpec = glib::ParamSpecEnum;
203 type SetValue = Self;
204 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
205
206 fn param_spec_builder() -> Self::BuilderFn {
207 Self::ParamSpec::builder_with_default
208 }
209}
210
211impl glib::value::ValueType for DiscovererResult {
212 type Type = Self;
213}
214
215unsafe impl<'a> glib::value::FromValue<'a> for DiscovererResult {
216 type Checker = glib::value::GenericValueTypeChecker<Self>;
217
218 #[inline]
219 unsafe fn from_value(value: &'a glib::Value) -> Self {
220 skip_assert_initialized!();
221 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
222 }
223}
224
225impl ToValue for DiscovererResult {
226 #[inline]
227 fn to_value(&self) -> glib::Value {
228 let mut value = glib::Value::for_value_type::<Self>();
229 unsafe {
230 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
231 }
232 value
233 }
234
235 #[inline]
236 fn value_type(&self) -> glib::Type {
237 Self::static_type()
238 }
239}
240
241impl From<DiscovererResult> for glib::Value {
242 #[inline]
243 fn from(v: DiscovererResult) -> Self {
244 skip_assert_initialized!();
245 ToValue::to_value(&v)
246 }
247}
248
249#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
250#[non_exhaustive]
251#[doc(alias = "GstInstallPluginsReturn")]
252pub enum InstallPluginsReturn {
253 #[doc(alias = "GST_INSTALL_PLUGINS_SUCCESS")]
254 Success,
255 #[doc(alias = "GST_INSTALL_PLUGINS_NOT_FOUND")]
256 NotFound,
257 #[doc(alias = "GST_INSTALL_PLUGINS_ERROR")]
258 Error,
259 #[doc(alias = "GST_INSTALL_PLUGINS_PARTIAL_SUCCESS")]
260 PartialSuccess,
261 #[doc(alias = "GST_INSTALL_PLUGINS_USER_ABORT")]
262 UserAbort,
263 #[doc(alias = "GST_INSTALL_PLUGINS_CRASHED")]
264 Crashed,
265 #[doc(alias = "GST_INSTALL_PLUGINS_INVALID")]
266 Invalid,
267 #[doc(alias = "GST_INSTALL_PLUGINS_STARTED_OK")]
268 StartedOk,
269 #[doc(alias = "GST_INSTALL_PLUGINS_INTERNAL_FAILURE")]
270 InternalFailure,
271 #[doc(alias = "GST_INSTALL_PLUGINS_HELPER_MISSING")]
272 HelperMissing,
273 #[doc(alias = "GST_INSTALL_PLUGINS_INSTALL_IN_PROGRESS")]
274 InstallInProgress,
275 #[doc(hidden)]
276 __Unknown(i32),
277}
278
279impl InstallPluginsReturn {
280 pub fn name<'a>(self) -> &'a GStr {
281 unsafe {
282 GStr::from_ptr(
283 ffi::gst_install_plugins_return_get_name(self.into_glib())
284 .as_ref()
285 .expect("gst_install_plugins_return_get_name returned NULL"),
286 )
287 }
288 }
289}
290
291impl std::fmt::Display for InstallPluginsReturn {
292 #[inline]
293 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
294 f.write_str(&self.name())
295 }
296}
297
298#[doc(hidden)]
299impl IntoGlib for InstallPluginsReturn {
300 type GlibType = ffi::GstInstallPluginsReturn;
301
302 #[inline]
303 fn into_glib(self) -> ffi::GstInstallPluginsReturn {
304 match self {
305 Self::Success => ffi::GST_INSTALL_PLUGINS_SUCCESS,
306 Self::NotFound => ffi::GST_INSTALL_PLUGINS_NOT_FOUND,
307 Self::Error => ffi::GST_INSTALL_PLUGINS_ERROR,
308 Self::PartialSuccess => ffi::GST_INSTALL_PLUGINS_PARTIAL_SUCCESS,
309 Self::UserAbort => ffi::GST_INSTALL_PLUGINS_USER_ABORT,
310 Self::Crashed => ffi::GST_INSTALL_PLUGINS_CRASHED,
311 Self::Invalid => ffi::GST_INSTALL_PLUGINS_INVALID,
312 Self::StartedOk => ffi::GST_INSTALL_PLUGINS_STARTED_OK,
313 Self::InternalFailure => ffi::GST_INSTALL_PLUGINS_INTERNAL_FAILURE,
314 Self::HelperMissing => ffi::GST_INSTALL_PLUGINS_HELPER_MISSING,
315 Self::InstallInProgress => ffi::GST_INSTALL_PLUGINS_INSTALL_IN_PROGRESS,
316 Self::__Unknown(value) => value,
317 }
318 }
319}
320
321#[doc(hidden)]
322impl FromGlib<ffi::GstInstallPluginsReturn> for InstallPluginsReturn {
323 #[inline]
324 unsafe fn from_glib(value: ffi::GstInstallPluginsReturn) -> Self {
325 skip_assert_initialized!();
326
327 match value {
328 ffi::GST_INSTALL_PLUGINS_SUCCESS => Self::Success,
329 ffi::GST_INSTALL_PLUGINS_NOT_FOUND => Self::NotFound,
330 ffi::GST_INSTALL_PLUGINS_ERROR => Self::Error,
331 ffi::GST_INSTALL_PLUGINS_PARTIAL_SUCCESS => Self::PartialSuccess,
332 ffi::GST_INSTALL_PLUGINS_USER_ABORT => Self::UserAbort,
333 ffi::GST_INSTALL_PLUGINS_CRASHED => Self::Crashed,
334 ffi::GST_INSTALL_PLUGINS_INVALID => Self::Invalid,
335 ffi::GST_INSTALL_PLUGINS_STARTED_OK => Self::StartedOk,
336 ffi::GST_INSTALL_PLUGINS_INTERNAL_FAILURE => Self::InternalFailure,
337 ffi::GST_INSTALL_PLUGINS_HELPER_MISSING => Self::HelperMissing,
338 ffi::GST_INSTALL_PLUGINS_INSTALL_IN_PROGRESS => Self::InstallInProgress,
339 value => Self::__Unknown(value),
340 }
341 }
342}
343
344impl StaticType for InstallPluginsReturn {
345 #[inline]
346 #[doc(alias = "gst_install_plugins_return_get_type")]
347 fn static_type() -> glib::Type {
348 unsafe { from_glib(ffi::gst_install_plugins_return_get_type()) }
349 }
350}
351
352impl glib::HasParamSpec for InstallPluginsReturn {
353 type ParamSpec = glib::ParamSpecEnum;
354 type SetValue = Self;
355 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
356
357 fn param_spec_builder() -> Self::BuilderFn {
358 Self::ParamSpec::builder_with_default
359 }
360}
361
362impl glib::value::ValueType for InstallPluginsReturn {
363 type Type = Self;
364}
365
366unsafe impl<'a> glib::value::FromValue<'a> for InstallPluginsReturn {
367 type Checker = glib::value::GenericValueTypeChecker<Self>;
368
369 #[inline]
370 unsafe fn from_value(value: &'a glib::Value) -> Self {
371 skip_assert_initialized!();
372 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
373 }
374}
375
376impl ToValue for InstallPluginsReturn {
377 #[inline]
378 fn to_value(&self) -> glib::Value {
379 let mut value = glib::Value::for_value_type::<Self>();
380 unsafe {
381 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
382 }
383 value
384 }
385
386 #[inline]
387 fn value_type(&self) -> glib::Type {
388 Self::static_type()
389 }
390}
391
392impl From<InstallPluginsReturn> for glib::Value {
393 #[inline]
394 fn from(v: InstallPluginsReturn) -> Self {
395 skip_assert_initialized!();
396 ToValue::to_value(&v)
397 }
398}