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