1 | // This file was generated by gir (https://github.com/gtk-rs/gir) |
2 | // from gir-files (https://github.com/gtk-rs/gir-files) |
3 | // from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git) |
4 | // DO NOT EDIT |
5 | |
6 | use crate::{ffi, EventTypeFlags}; |
7 | use glib::{prelude::*, translate::*, GStr}; |
8 | |
9 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
10 | #[non_exhaustive ] |
11 | #[doc (alias = "GstBufferingMode" )] |
12 | pub enum BufferingMode { |
13 | #[doc (alias = "GST_BUFFERING_STREAM" )] |
14 | Stream, |
15 | #[doc (alias = "GST_BUFFERING_DOWNLOAD" )] |
16 | Download, |
17 | #[doc (alias = "GST_BUFFERING_TIMESHIFT" )] |
18 | Timeshift, |
19 | #[doc (alias = "GST_BUFFERING_LIVE" )] |
20 | Live, |
21 | #[doc (hidden)] |
22 | __Unknown(i32), |
23 | } |
24 | |
25 | #[doc (hidden)] |
26 | impl IntoGlib for BufferingMode { |
27 | type GlibType = ffi::GstBufferingMode; |
28 | |
29 | #[inline ] |
30 | fn into_glib(self) -> ffi::GstBufferingMode { |
31 | match self { |
32 | Self::Stream => ffi::GST_BUFFERING_STREAM, |
33 | Self::Download => ffi::GST_BUFFERING_DOWNLOAD, |
34 | Self::Timeshift => ffi::GST_BUFFERING_TIMESHIFT, |
35 | Self::Live => ffi::GST_BUFFERING_LIVE, |
36 | Self::__Unknown(value: i32) => value, |
37 | } |
38 | } |
39 | } |
40 | |
41 | #[doc (hidden)] |
42 | impl FromGlib<ffi::GstBufferingMode> for BufferingMode { |
43 | #[inline ] |
44 | unsafe fn from_glib(value: ffi::GstBufferingMode) -> Self { |
45 | skip_assert_initialized!(); |
46 | |
47 | match value { |
48 | ffi::GST_BUFFERING_STREAM => Self::Stream, |
49 | ffi::GST_BUFFERING_DOWNLOAD => Self::Download, |
50 | ffi::GST_BUFFERING_TIMESHIFT => Self::Timeshift, |
51 | ffi::GST_BUFFERING_LIVE => Self::Live, |
52 | value: i32 => Self::__Unknown(value), |
53 | } |
54 | } |
55 | } |
56 | |
57 | impl StaticType for BufferingMode { |
58 | #[inline ] |
59 | #[doc (alias = "gst_buffering_mode_get_type" )] |
60 | fn static_type() -> glib::Type { |
61 | unsafe { from_glib(val:ffi::gst_buffering_mode_get_type()) } |
62 | } |
63 | } |
64 | |
65 | impl glib::HasParamSpec for BufferingMode { |
66 | type ParamSpec = glib::ParamSpecEnum; |
67 | type SetValue = Self; |
68 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
69 | |
70 | fn param_spec_builder() -> Self::BuilderFn { |
71 | Self::ParamSpec::builder_with_default |
72 | } |
73 | } |
74 | |
75 | impl glib::value::ValueType for BufferingMode { |
76 | type Type = Self; |
77 | } |
78 | |
79 | unsafe impl<'a> glib::value::FromValue<'a> for BufferingMode { |
80 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
81 | |
82 | #[inline ] |
83 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
84 | skip_assert_initialized!(); |
85 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
86 | } |
87 | } |
88 | |
89 | impl ToValue for BufferingMode { |
90 | #[inline ] |
91 | fn to_value(&self) -> glib::Value { |
92 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
93 | unsafe { |
94 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
95 | } |
96 | value |
97 | } |
98 | |
99 | #[inline ] |
100 | fn value_type(&self) -> glib::Type { |
101 | Self::static_type() |
102 | } |
103 | } |
104 | |
105 | impl From<BufferingMode> for glib::Value { |
106 | #[inline ] |
107 | fn from(v: BufferingMode) -> Self { |
108 | skip_assert_initialized!(); |
109 | ToValue::to_value(&v) |
110 | } |
111 | } |
112 | |
113 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
114 | #[repr (i32)] |
115 | #[doc (alias = "GstBusSyncReply" )] |
116 | pub enum BusSyncReply { |
117 | #[doc (alias = "GST_BUS_DROP" )] |
118 | Drop = ffi::GST_BUS_DROP, |
119 | #[doc (alias = "GST_BUS_PASS" )] |
120 | Pass = ffi::GST_BUS_PASS, |
121 | #[doc (alias = "GST_BUS_ASYNC" )] |
122 | Async = ffi::GST_BUS_ASYNC, |
123 | } |
124 | |
125 | #[doc (hidden)] |
126 | impl IntoGlib for BusSyncReply { |
127 | type GlibType = ffi::GstBusSyncReply; |
128 | |
129 | #[inline ] |
130 | fn into_glib(self) -> ffi::GstBusSyncReply { |
131 | self as ffi::GstBusSyncReply |
132 | } |
133 | } |
134 | |
135 | #[doc (hidden)] |
136 | impl FromGlib<ffi::GstBusSyncReply> for BusSyncReply { |
137 | #[inline ] |
138 | unsafe fn from_glib(value: ffi::GstBusSyncReply) -> Self { |
139 | skip_assert_initialized!(); |
140 | |
141 | debug_assert!([ffi::GST_BUS_DROP, ffi::GST_BUS_PASS, ffi::GST_BUS_ASYNC].contains(&value)); |
142 | std::mem::transmute(src:value) |
143 | } |
144 | } |
145 | |
146 | impl StaticType for BusSyncReply { |
147 | #[inline ] |
148 | #[doc (alias = "gst_bus_sync_reply_get_type" )] |
149 | fn static_type() -> glib::Type { |
150 | unsafe { from_glib(val:ffi::gst_bus_sync_reply_get_type()) } |
151 | } |
152 | } |
153 | |
154 | impl glib::HasParamSpec for BusSyncReply { |
155 | type ParamSpec = glib::ParamSpecEnum; |
156 | type SetValue = Self; |
157 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
158 | |
159 | fn param_spec_builder() -> Self::BuilderFn { |
160 | Self::ParamSpec::builder_with_default |
161 | } |
162 | } |
163 | |
164 | impl glib::value::ValueType for BusSyncReply { |
165 | type Type = Self; |
166 | } |
167 | |
168 | unsafe impl<'a> glib::value::FromValue<'a> for BusSyncReply { |
169 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
170 | |
171 | #[inline ] |
172 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
173 | skip_assert_initialized!(); |
174 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
175 | } |
176 | } |
177 | |
178 | impl ToValue for BusSyncReply { |
179 | #[inline ] |
180 | fn to_value(&self) -> glib::Value { |
181 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
182 | unsafe { |
183 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
184 | } |
185 | value |
186 | } |
187 | |
188 | #[inline ] |
189 | fn value_type(&self) -> glib::Type { |
190 | Self::static_type() |
191 | } |
192 | } |
193 | |
194 | impl From<BusSyncReply> for glib::Value { |
195 | #[inline ] |
196 | fn from(v: BusSyncReply) -> Self { |
197 | skip_assert_initialized!(); |
198 | ToValue::to_value(&v) |
199 | } |
200 | } |
201 | |
202 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
203 | #[non_exhaustive ] |
204 | #[doc (alias = "GstCapsIntersectMode" )] |
205 | pub enum CapsIntersectMode { |
206 | #[doc (alias = "GST_CAPS_INTERSECT_ZIG_ZAG" )] |
207 | ZigZag, |
208 | #[doc (alias = "GST_CAPS_INTERSECT_FIRST" )] |
209 | First, |
210 | #[doc (hidden)] |
211 | __Unknown(i32), |
212 | } |
213 | |
214 | #[doc (hidden)] |
215 | impl IntoGlib for CapsIntersectMode { |
216 | type GlibType = ffi::GstCapsIntersectMode; |
217 | |
218 | #[inline ] |
219 | fn into_glib(self) -> ffi::GstCapsIntersectMode { |
220 | match self { |
221 | Self::ZigZag => ffi::GST_CAPS_INTERSECT_ZIG_ZAG, |
222 | Self::First => ffi::GST_CAPS_INTERSECT_FIRST, |
223 | Self::__Unknown(value: i32) => value, |
224 | } |
225 | } |
226 | } |
227 | |
228 | #[doc (hidden)] |
229 | impl FromGlib<ffi::GstCapsIntersectMode> for CapsIntersectMode { |
230 | #[inline ] |
231 | unsafe fn from_glib(value: ffi::GstCapsIntersectMode) -> Self { |
232 | skip_assert_initialized!(); |
233 | |
234 | match value { |
235 | ffi::GST_CAPS_INTERSECT_ZIG_ZAG => Self::ZigZag, |
236 | ffi::GST_CAPS_INTERSECT_FIRST => Self::First, |
237 | value: i32 => Self::__Unknown(value), |
238 | } |
239 | } |
240 | } |
241 | |
242 | impl StaticType for CapsIntersectMode { |
243 | #[inline ] |
244 | #[doc (alias = "gst_caps_intersect_mode_get_type" )] |
245 | fn static_type() -> glib::Type { |
246 | unsafe { from_glib(val:ffi::gst_caps_intersect_mode_get_type()) } |
247 | } |
248 | } |
249 | |
250 | impl glib::HasParamSpec for CapsIntersectMode { |
251 | type ParamSpec = glib::ParamSpecEnum; |
252 | type SetValue = Self; |
253 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
254 | |
255 | fn param_spec_builder() -> Self::BuilderFn { |
256 | Self::ParamSpec::builder_with_default |
257 | } |
258 | } |
259 | |
260 | impl glib::value::ValueType for CapsIntersectMode { |
261 | type Type = Self; |
262 | } |
263 | |
264 | unsafe impl<'a> glib::value::FromValue<'a> for CapsIntersectMode { |
265 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
266 | |
267 | #[inline ] |
268 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
269 | skip_assert_initialized!(); |
270 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
271 | } |
272 | } |
273 | |
274 | impl ToValue for CapsIntersectMode { |
275 | #[inline ] |
276 | fn to_value(&self) -> glib::Value { |
277 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
278 | unsafe { |
279 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
280 | } |
281 | value |
282 | } |
283 | |
284 | #[inline ] |
285 | fn value_type(&self) -> glib::Type { |
286 | Self::static_type() |
287 | } |
288 | } |
289 | |
290 | impl From<CapsIntersectMode> for glib::Value { |
291 | #[inline ] |
292 | fn from(v: CapsIntersectMode) -> Self { |
293 | skip_assert_initialized!(); |
294 | ToValue::to_value(&v) |
295 | } |
296 | } |
297 | |
298 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
299 | #[non_exhaustive ] |
300 | #[doc (alias = "GstClockEntryType" )] |
301 | pub enum ClockEntryType { |
302 | #[doc (alias = "GST_CLOCK_ENTRY_SINGLE" )] |
303 | Single, |
304 | #[doc (alias = "GST_CLOCK_ENTRY_PERIODIC" )] |
305 | Periodic, |
306 | #[doc (hidden)] |
307 | __Unknown(i32), |
308 | } |
309 | |
310 | #[doc (hidden)] |
311 | impl IntoGlib for ClockEntryType { |
312 | type GlibType = ffi::GstClockEntryType; |
313 | |
314 | #[inline ] |
315 | fn into_glib(self) -> ffi::GstClockEntryType { |
316 | match self { |
317 | Self::Single => ffi::GST_CLOCK_ENTRY_SINGLE, |
318 | Self::Periodic => ffi::GST_CLOCK_ENTRY_PERIODIC, |
319 | Self::__Unknown(value: i32) => value, |
320 | } |
321 | } |
322 | } |
323 | |
324 | #[doc (hidden)] |
325 | impl FromGlib<ffi::GstClockEntryType> for ClockEntryType { |
326 | #[inline ] |
327 | unsafe fn from_glib(value: ffi::GstClockEntryType) -> Self { |
328 | skip_assert_initialized!(); |
329 | |
330 | match value { |
331 | ffi::GST_CLOCK_ENTRY_SINGLE => Self::Single, |
332 | ffi::GST_CLOCK_ENTRY_PERIODIC => Self::Periodic, |
333 | value: i32 => Self::__Unknown(value), |
334 | } |
335 | } |
336 | } |
337 | |
338 | impl StaticType for ClockEntryType { |
339 | #[inline ] |
340 | #[doc (alias = "gst_clock_entry_type_get_type" )] |
341 | fn static_type() -> glib::Type { |
342 | unsafe { from_glib(val:ffi::gst_clock_entry_type_get_type()) } |
343 | } |
344 | } |
345 | |
346 | impl glib::HasParamSpec for ClockEntryType { |
347 | type ParamSpec = glib::ParamSpecEnum; |
348 | type SetValue = Self; |
349 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
350 | |
351 | fn param_spec_builder() -> Self::BuilderFn { |
352 | Self::ParamSpec::builder_with_default |
353 | } |
354 | } |
355 | |
356 | impl glib::value::ValueType for ClockEntryType { |
357 | type Type = Self; |
358 | } |
359 | |
360 | unsafe impl<'a> glib::value::FromValue<'a> for ClockEntryType { |
361 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
362 | |
363 | #[inline ] |
364 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
365 | skip_assert_initialized!(); |
366 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
367 | } |
368 | } |
369 | |
370 | impl ToValue for ClockEntryType { |
371 | #[inline ] |
372 | fn to_value(&self) -> glib::Value { |
373 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
374 | unsafe { |
375 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
376 | } |
377 | value |
378 | } |
379 | |
380 | #[inline ] |
381 | fn value_type(&self) -> glib::Type { |
382 | Self::static_type() |
383 | } |
384 | } |
385 | |
386 | impl From<ClockEntryType> for glib::Value { |
387 | #[inline ] |
388 | fn from(v: ClockEntryType) -> Self { |
389 | skip_assert_initialized!(); |
390 | ToValue::to_value(&v) |
391 | } |
392 | } |
393 | |
394 | #[must_use ] |
395 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
396 | #[repr (i32)] |
397 | #[doc (alias = "GstClockReturn" )] |
398 | pub enum ClockReturn { |
399 | #[doc (alias = "GST_CLOCK_OK" )] |
400 | Ok = ffi::GST_CLOCK_OK, |
401 | #[doc (alias = "GST_CLOCK_EARLY" )] |
402 | Early = ffi::GST_CLOCK_EARLY, |
403 | #[doc (alias = "GST_CLOCK_UNSCHEDULED" )] |
404 | Unscheduled = ffi::GST_CLOCK_UNSCHEDULED, |
405 | #[doc (alias = "GST_CLOCK_BUSY" )] |
406 | Busy = ffi::GST_CLOCK_BUSY, |
407 | #[doc (alias = "GST_CLOCK_BADTIME" )] |
408 | Badtime = ffi::GST_CLOCK_BADTIME, |
409 | #[doc (alias = "GST_CLOCK_ERROR" )] |
410 | Error = ffi::GST_CLOCK_ERROR, |
411 | #[doc (alias = "GST_CLOCK_UNSUPPORTED" )] |
412 | Unsupported = ffi::GST_CLOCK_UNSUPPORTED, |
413 | #[doc (alias = "GST_CLOCK_DONE" )] |
414 | Done = ffi::GST_CLOCK_DONE, |
415 | } |
416 | |
417 | #[doc (hidden)] |
418 | impl IntoGlib for ClockReturn { |
419 | type GlibType = ffi::GstClockReturn; |
420 | |
421 | #[inline ] |
422 | fn into_glib(self) -> ffi::GstClockReturn { |
423 | self as ffi::GstClockReturn |
424 | } |
425 | } |
426 | |
427 | #[doc (hidden)] |
428 | impl FromGlib<ffi::GstClockReturn> for ClockReturn { |
429 | #[inline ] |
430 | unsafe fn from_glib(value: ffi::GstClockReturn) -> Self { |
431 | skip_assert_initialized!(); |
432 | |
433 | debug_assert!([ |
434 | ffi::GST_CLOCK_OK, |
435 | ffi::GST_CLOCK_EARLY, |
436 | ffi::GST_CLOCK_UNSCHEDULED, |
437 | ffi::GST_CLOCK_BUSY, |
438 | ffi::GST_CLOCK_BADTIME, |
439 | ffi::GST_CLOCK_ERROR, |
440 | ffi::GST_CLOCK_UNSUPPORTED, |
441 | ffi::GST_CLOCK_DONE |
442 | ] |
443 | .contains(&value)); |
444 | std::mem::transmute(src:value) |
445 | } |
446 | } |
447 | |
448 | impl StaticType for ClockReturn { |
449 | #[inline ] |
450 | #[doc (alias = "gst_clock_return_get_type" )] |
451 | fn static_type() -> glib::Type { |
452 | unsafe { from_glib(val:ffi::gst_clock_return_get_type()) } |
453 | } |
454 | } |
455 | |
456 | impl glib::HasParamSpec for ClockReturn { |
457 | type ParamSpec = glib::ParamSpecEnum; |
458 | type SetValue = Self; |
459 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
460 | |
461 | fn param_spec_builder() -> Self::BuilderFn { |
462 | Self::ParamSpec::builder_with_default |
463 | } |
464 | } |
465 | |
466 | impl glib::value::ValueType for ClockReturn { |
467 | type Type = Self; |
468 | } |
469 | |
470 | unsafe impl<'a> glib::value::FromValue<'a> for ClockReturn { |
471 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
472 | |
473 | #[inline ] |
474 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
475 | skip_assert_initialized!(); |
476 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
477 | } |
478 | } |
479 | |
480 | impl ToValue for ClockReturn { |
481 | #[inline ] |
482 | fn to_value(&self) -> glib::Value { |
483 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
484 | unsafe { |
485 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
486 | } |
487 | value |
488 | } |
489 | |
490 | #[inline ] |
491 | fn value_type(&self) -> glib::Type { |
492 | Self::static_type() |
493 | } |
494 | } |
495 | |
496 | impl From<ClockReturn> for glib::Value { |
497 | #[inline ] |
498 | fn from(v: ClockReturn) -> Self { |
499 | skip_assert_initialized!(); |
500 | ToValue::to_value(&v) |
501 | } |
502 | } |
503 | |
504 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
505 | #[non_exhaustive ] |
506 | #[doc (alias = "GstClockType" )] |
507 | pub enum ClockType { |
508 | #[doc (alias = "GST_CLOCK_TYPE_REALTIME" )] |
509 | Realtime, |
510 | #[doc (alias = "GST_CLOCK_TYPE_MONOTONIC" )] |
511 | Monotonic, |
512 | #[doc (alias = "GST_CLOCK_TYPE_OTHER" )] |
513 | Other, |
514 | #[cfg (feature = "v1_18" )] |
515 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_18" )))] |
516 | #[doc (alias = "GST_CLOCK_TYPE_TAI" )] |
517 | Tai, |
518 | #[doc (hidden)] |
519 | __Unknown(i32), |
520 | } |
521 | |
522 | #[doc (hidden)] |
523 | impl IntoGlib for ClockType { |
524 | type GlibType = ffi::GstClockType; |
525 | |
526 | #[inline ] |
527 | fn into_glib(self) -> ffi::GstClockType { |
528 | match self { |
529 | Self::Realtime => ffi::GST_CLOCK_TYPE_REALTIME, |
530 | Self::Monotonic => ffi::GST_CLOCK_TYPE_MONOTONIC, |
531 | Self::Other => ffi::GST_CLOCK_TYPE_OTHER, |
532 | #[cfg (feature = "v1_18" )] |
533 | Self::Tai => ffi::GST_CLOCK_TYPE_TAI, |
534 | Self::__Unknown(value: i32) => value, |
535 | } |
536 | } |
537 | } |
538 | |
539 | #[doc (hidden)] |
540 | impl FromGlib<ffi::GstClockType> for ClockType { |
541 | #[inline ] |
542 | unsafe fn from_glib(value: ffi::GstClockType) -> Self { |
543 | skip_assert_initialized!(); |
544 | |
545 | match value { |
546 | ffi::GST_CLOCK_TYPE_REALTIME => Self::Realtime, |
547 | ffi::GST_CLOCK_TYPE_MONOTONIC => Self::Monotonic, |
548 | ffi::GST_CLOCK_TYPE_OTHER => Self::Other, |
549 | #[cfg (feature = "v1_18" )] |
550 | ffi::GST_CLOCK_TYPE_TAI => Self::Tai, |
551 | value: i32 => Self::__Unknown(value), |
552 | } |
553 | } |
554 | } |
555 | |
556 | impl StaticType for ClockType { |
557 | #[inline ] |
558 | #[doc (alias = "gst_clock_type_get_type" )] |
559 | fn static_type() -> glib::Type { |
560 | unsafe { from_glib(val:ffi::gst_clock_type_get_type()) } |
561 | } |
562 | } |
563 | |
564 | impl glib::HasParamSpec for ClockType { |
565 | type ParamSpec = glib::ParamSpecEnum; |
566 | type SetValue = Self; |
567 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
568 | |
569 | fn param_spec_builder() -> Self::BuilderFn { |
570 | Self::ParamSpec::builder_with_default |
571 | } |
572 | } |
573 | |
574 | impl glib::value::ValueType for ClockType { |
575 | type Type = Self; |
576 | } |
577 | |
578 | unsafe impl<'a> glib::value::FromValue<'a> for ClockType { |
579 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
580 | |
581 | #[inline ] |
582 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
583 | skip_assert_initialized!(); |
584 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
585 | } |
586 | } |
587 | |
588 | impl ToValue for ClockType { |
589 | #[inline ] |
590 | fn to_value(&self) -> glib::Value { |
591 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
592 | unsafe { |
593 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
594 | } |
595 | value |
596 | } |
597 | |
598 | #[inline ] |
599 | fn value_type(&self) -> glib::Type { |
600 | Self::static_type() |
601 | } |
602 | } |
603 | |
604 | impl From<ClockType> for glib::Value { |
605 | #[inline ] |
606 | fn from(v: ClockType) -> Self { |
607 | skip_assert_initialized!(); |
608 | ToValue::to_value(&v) |
609 | } |
610 | } |
611 | |
612 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
613 | #[non_exhaustive ] |
614 | #[doc (alias = "GstCoreError" )] |
615 | pub enum CoreError { |
616 | #[doc (alias = "GST_CORE_ERROR_FAILED" )] |
617 | Failed, |
618 | #[doc (alias = "GST_CORE_ERROR_TOO_LAZY" )] |
619 | TooLazy, |
620 | #[doc (alias = "GST_CORE_ERROR_NOT_IMPLEMENTED" )] |
621 | NotImplemented, |
622 | #[doc (alias = "GST_CORE_ERROR_STATE_CHANGE" )] |
623 | StateChange, |
624 | #[doc (alias = "GST_CORE_ERROR_PAD" )] |
625 | Pad, |
626 | #[doc (alias = "GST_CORE_ERROR_THREAD" )] |
627 | Thread, |
628 | #[doc (alias = "GST_CORE_ERROR_NEGOTIATION" )] |
629 | Negotiation, |
630 | #[doc (alias = "GST_CORE_ERROR_EVENT" )] |
631 | Event, |
632 | #[doc (alias = "GST_CORE_ERROR_SEEK" )] |
633 | Seek, |
634 | #[doc (alias = "GST_CORE_ERROR_CAPS" )] |
635 | Caps, |
636 | #[doc (alias = "GST_CORE_ERROR_TAG" )] |
637 | Tag, |
638 | #[doc (alias = "GST_CORE_ERROR_MISSING_PLUGIN" )] |
639 | MissingPlugin, |
640 | #[doc (alias = "GST_CORE_ERROR_CLOCK" )] |
641 | Clock, |
642 | #[doc (alias = "GST_CORE_ERROR_DISABLED" )] |
643 | Disabled, |
644 | #[doc (hidden)] |
645 | __Unknown(i32), |
646 | } |
647 | |
648 | #[doc (hidden)] |
649 | impl IntoGlib for CoreError { |
650 | type GlibType = ffi::GstCoreError; |
651 | |
652 | fn into_glib(self) -> ffi::GstCoreError { |
653 | match self { |
654 | Self::Failed => ffi::GST_CORE_ERROR_FAILED, |
655 | Self::TooLazy => ffi::GST_CORE_ERROR_TOO_LAZY, |
656 | Self::NotImplemented => ffi::GST_CORE_ERROR_NOT_IMPLEMENTED, |
657 | Self::StateChange => ffi::GST_CORE_ERROR_STATE_CHANGE, |
658 | Self::Pad => ffi::GST_CORE_ERROR_PAD, |
659 | Self::Thread => ffi::GST_CORE_ERROR_THREAD, |
660 | Self::Negotiation => ffi::GST_CORE_ERROR_NEGOTIATION, |
661 | Self::Event => ffi::GST_CORE_ERROR_EVENT, |
662 | Self::Seek => ffi::GST_CORE_ERROR_SEEK, |
663 | Self::Caps => ffi::GST_CORE_ERROR_CAPS, |
664 | Self::Tag => ffi::GST_CORE_ERROR_TAG, |
665 | Self::MissingPlugin => ffi::GST_CORE_ERROR_MISSING_PLUGIN, |
666 | Self::Clock => ffi::GST_CORE_ERROR_CLOCK, |
667 | Self::Disabled => ffi::GST_CORE_ERROR_DISABLED, |
668 | Self::__Unknown(value: i32) => value, |
669 | } |
670 | } |
671 | } |
672 | |
673 | #[doc (hidden)] |
674 | impl FromGlib<ffi::GstCoreError> for CoreError { |
675 | unsafe fn from_glib(value: ffi::GstCoreError) -> Self { |
676 | skip_assert_initialized!(); |
677 | |
678 | match value { |
679 | ffi::GST_CORE_ERROR_FAILED => Self::Failed, |
680 | ffi::GST_CORE_ERROR_TOO_LAZY => Self::TooLazy, |
681 | ffi::GST_CORE_ERROR_NOT_IMPLEMENTED => Self::NotImplemented, |
682 | ffi::GST_CORE_ERROR_STATE_CHANGE => Self::StateChange, |
683 | ffi::GST_CORE_ERROR_PAD => Self::Pad, |
684 | ffi::GST_CORE_ERROR_THREAD => Self::Thread, |
685 | ffi::GST_CORE_ERROR_NEGOTIATION => Self::Negotiation, |
686 | ffi::GST_CORE_ERROR_EVENT => Self::Event, |
687 | ffi::GST_CORE_ERROR_SEEK => Self::Seek, |
688 | ffi::GST_CORE_ERROR_CAPS => Self::Caps, |
689 | ffi::GST_CORE_ERROR_TAG => Self::Tag, |
690 | ffi::GST_CORE_ERROR_MISSING_PLUGIN => Self::MissingPlugin, |
691 | ffi::GST_CORE_ERROR_CLOCK => Self::Clock, |
692 | ffi::GST_CORE_ERROR_DISABLED => Self::Disabled, |
693 | value: i32 => Self::__Unknown(value), |
694 | } |
695 | } |
696 | } |
697 | |
698 | impl glib::error::ErrorDomain for CoreError { |
699 | #[inline ] |
700 | fn domain() -> glib::Quark { |
701 | skip_assert_initialized!(); |
702 | |
703 | unsafe { from_glib(val:ffi::gst_core_error_quark()) } |
704 | } |
705 | |
706 | #[inline ] |
707 | fn code(self) -> i32 { |
708 | self.into_glib() |
709 | } |
710 | |
711 | #[inline ] |
712 | #[allow (clippy::match_single_binding)] |
713 | fn from(code: i32) -> Option<Self> { |
714 | skip_assert_initialized!(); |
715 | match unsafe { from_glib(val:code) } { |
716 | Self::__Unknown(_) => Some(Self::Failed), |
717 | value: CoreError => Some(value), |
718 | } |
719 | } |
720 | } |
721 | |
722 | impl StaticType for CoreError { |
723 | #[inline ] |
724 | #[doc (alias = "gst_core_error_get_type" )] |
725 | fn static_type() -> glib::Type { |
726 | unsafe { from_glib(val:ffi::gst_core_error_get_type()) } |
727 | } |
728 | } |
729 | |
730 | impl glib::HasParamSpec for CoreError { |
731 | type ParamSpec = glib::ParamSpecEnum; |
732 | type SetValue = Self; |
733 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
734 | |
735 | fn param_spec_builder() -> Self::BuilderFn { |
736 | Self::ParamSpec::builder_with_default |
737 | } |
738 | } |
739 | |
740 | impl glib::value::ValueType for CoreError { |
741 | type Type = Self; |
742 | } |
743 | |
744 | unsafe impl<'a> glib::value::FromValue<'a> for CoreError { |
745 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
746 | |
747 | #[inline ] |
748 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
749 | skip_assert_initialized!(); |
750 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
751 | } |
752 | } |
753 | |
754 | impl ToValue for CoreError { |
755 | #[inline ] |
756 | fn to_value(&self) -> glib::Value { |
757 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
758 | unsafe { |
759 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
760 | } |
761 | value |
762 | } |
763 | |
764 | #[inline ] |
765 | fn value_type(&self) -> glib::Type { |
766 | Self::static_type() |
767 | } |
768 | } |
769 | |
770 | impl From<CoreError> for glib::Value { |
771 | #[inline ] |
772 | fn from(v: CoreError) -> Self { |
773 | skip_assert_initialized!(); |
774 | ToValue::to_value(&v) |
775 | } |
776 | } |
777 | |
778 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
779 | #[non_exhaustive ] |
780 | #[doc (alias = "GstDebugLevel" )] |
781 | pub enum DebugLevel { |
782 | #[doc (alias = "GST_LEVEL_NONE" )] |
783 | None, |
784 | #[doc (alias = "GST_LEVEL_ERROR" )] |
785 | Error, |
786 | #[doc (alias = "GST_LEVEL_WARNING" )] |
787 | Warning, |
788 | #[doc (alias = "GST_LEVEL_FIXME" )] |
789 | Fixme, |
790 | #[doc (alias = "GST_LEVEL_INFO" )] |
791 | Info, |
792 | #[doc (alias = "GST_LEVEL_DEBUG" )] |
793 | Debug, |
794 | #[doc (alias = "GST_LEVEL_LOG" )] |
795 | Log, |
796 | #[doc (alias = "GST_LEVEL_TRACE" )] |
797 | Trace, |
798 | #[doc (alias = "GST_LEVEL_MEMDUMP" )] |
799 | Memdump, |
800 | #[doc (hidden)] |
801 | __Unknown(i32), |
802 | } |
803 | |
804 | impl DebugLevel { |
805 | pub fn name<'a>(self) -> &'a GStr { |
806 | unsafe { |
807 | GStr::from_ptr( |
808 | ffi::gst_debug_level_get_name(self.into_glib()) |
809 | .as_ref() |
810 | .expect(msg:"gst_debug_level_get_name returned NULL" ), |
811 | ) |
812 | } |
813 | } |
814 | } |
815 | |
816 | impl std::fmt::Display for DebugLevel { |
817 | #[inline ] |
818 | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { |
819 | f.write_str(&self.name()) |
820 | } |
821 | } |
822 | |
823 | #[doc (hidden)] |
824 | impl IntoGlib for DebugLevel { |
825 | type GlibType = ffi::GstDebugLevel; |
826 | |
827 | #[inline ] |
828 | fn into_glib(self) -> ffi::GstDebugLevel { |
829 | match self { |
830 | Self::None => ffi::GST_LEVEL_NONE, |
831 | Self::Error => ffi::GST_LEVEL_ERROR, |
832 | Self::Warning => ffi::GST_LEVEL_WARNING, |
833 | Self::Fixme => ffi::GST_LEVEL_FIXME, |
834 | Self::Info => ffi::GST_LEVEL_INFO, |
835 | Self::Debug => ffi::GST_LEVEL_DEBUG, |
836 | Self::Log => ffi::GST_LEVEL_LOG, |
837 | Self::Trace => ffi::GST_LEVEL_TRACE, |
838 | Self::Memdump => ffi::GST_LEVEL_MEMDUMP, |
839 | Self::__Unknown(value: i32) => value, |
840 | } |
841 | } |
842 | } |
843 | |
844 | #[doc (hidden)] |
845 | impl FromGlib<ffi::GstDebugLevel> for DebugLevel { |
846 | #[inline ] |
847 | unsafe fn from_glib(value: ffi::GstDebugLevel) -> Self { |
848 | skip_assert_initialized!(); |
849 | |
850 | match value { |
851 | ffi::GST_LEVEL_NONE => Self::None, |
852 | ffi::GST_LEVEL_ERROR => Self::Error, |
853 | ffi::GST_LEVEL_WARNING => Self::Warning, |
854 | ffi::GST_LEVEL_FIXME => Self::Fixme, |
855 | ffi::GST_LEVEL_INFO => Self::Info, |
856 | ffi::GST_LEVEL_DEBUG => Self::Debug, |
857 | ffi::GST_LEVEL_LOG => Self::Log, |
858 | ffi::GST_LEVEL_TRACE => Self::Trace, |
859 | ffi::GST_LEVEL_MEMDUMP => Self::Memdump, |
860 | value: i32 => Self::__Unknown(value), |
861 | } |
862 | } |
863 | } |
864 | |
865 | impl StaticType for DebugLevel { |
866 | #[inline ] |
867 | #[doc (alias = "gst_debug_level_get_type" )] |
868 | fn static_type() -> glib::Type { |
869 | unsafe { from_glib(val:ffi::gst_debug_level_get_type()) } |
870 | } |
871 | } |
872 | |
873 | impl glib::HasParamSpec for DebugLevel { |
874 | type ParamSpec = glib::ParamSpecEnum; |
875 | type SetValue = Self; |
876 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
877 | |
878 | fn param_spec_builder() -> Self::BuilderFn { |
879 | Self::ParamSpec::builder_with_default |
880 | } |
881 | } |
882 | |
883 | impl glib::value::ValueType for DebugLevel { |
884 | type Type = Self; |
885 | } |
886 | |
887 | unsafe impl<'a> glib::value::FromValue<'a> for DebugLevel { |
888 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
889 | |
890 | #[inline ] |
891 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
892 | skip_assert_initialized!(); |
893 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
894 | } |
895 | } |
896 | |
897 | impl ToValue for DebugLevel { |
898 | #[inline ] |
899 | fn to_value(&self) -> glib::Value { |
900 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
901 | unsafe { |
902 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
903 | } |
904 | value |
905 | } |
906 | |
907 | #[inline ] |
908 | fn value_type(&self) -> glib::Type { |
909 | Self::static_type() |
910 | } |
911 | } |
912 | |
913 | impl From<DebugLevel> for glib::Value { |
914 | #[inline ] |
915 | fn from(v: DebugLevel) -> Self { |
916 | skip_assert_initialized!(); |
917 | ToValue::to_value(&v) |
918 | } |
919 | } |
920 | |
921 | #[derive (Debug, PartialEq, Eq, Hash, Clone, Copy)] |
922 | #[non_exhaustive ] |
923 | #[doc (alias = "GstEventType" )] |
924 | pub enum EventType { |
925 | #[doc (alias = "GST_EVENT_UNKNOWN" )] |
926 | Unknown, |
927 | #[doc (alias = "GST_EVENT_FLUSH_START" )] |
928 | FlushStart, |
929 | #[doc (alias = "GST_EVENT_FLUSH_STOP" )] |
930 | FlushStop, |
931 | #[doc (alias = "GST_EVENT_STREAM_START" )] |
932 | StreamStart, |
933 | #[doc (alias = "GST_EVENT_CAPS" )] |
934 | Caps, |
935 | #[doc (alias = "GST_EVENT_SEGMENT" )] |
936 | Segment, |
937 | #[doc (alias = "GST_EVENT_STREAM_COLLECTION" )] |
938 | StreamCollection, |
939 | #[doc (alias = "GST_EVENT_TAG" )] |
940 | Tag, |
941 | #[doc (alias = "GST_EVENT_BUFFERSIZE" )] |
942 | Buffersize, |
943 | #[doc (alias = "GST_EVENT_SINK_MESSAGE" )] |
944 | SinkMessage, |
945 | #[doc (alias = "GST_EVENT_STREAM_GROUP_DONE" )] |
946 | StreamGroupDone, |
947 | #[doc (alias = "GST_EVENT_EOS" )] |
948 | Eos, |
949 | #[doc (alias = "GST_EVENT_TOC" )] |
950 | Toc, |
951 | #[doc (alias = "GST_EVENT_PROTECTION" )] |
952 | Protection, |
953 | #[doc (alias = "GST_EVENT_SEGMENT_DONE" )] |
954 | SegmentDone, |
955 | #[doc (alias = "GST_EVENT_GAP" )] |
956 | Gap, |
957 | #[cfg (feature = "v1_18" )] |
958 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_18" )))] |
959 | #[doc (alias = "GST_EVENT_INSTANT_RATE_CHANGE" )] |
960 | InstantRateChange, |
961 | #[doc (alias = "GST_EVENT_QOS" )] |
962 | Qos, |
963 | #[doc (alias = "GST_EVENT_SEEK" )] |
964 | Seek, |
965 | #[doc (alias = "GST_EVENT_NAVIGATION" )] |
966 | Navigation, |
967 | #[doc (alias = "GST_EVENT_LATENCY" )] |
968 | Latency, |
969 | #[doc (alias = "GST_EVENT_STEP" )] |
970 | Step, |
971 | #[doc (alias = "GST_EVENT_RECONFIGURE" )] |
972 | Reconfigure, |
973 | #[doc (alias = "GST_EVENT_TOC_SELECT" )] |
974 | TocSelect, |
975 | #[doc (alias = "GST_EVENT_SELECT_STREAMS" )] |
976 | SelectStreams, |
977 | #[cfg (feature = "v1_18" )] |
978 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_18" )))] |
979 | #[doc (alias = "GST_EVENT_INSTANT_RATE_SYNC_TIME" )] |
980 | InstantRateSyncTime, |
981 | #[doc (alias = "GST_EVENT_CUSTOM_UPSTREAM" )] |
982 | CustomUpstream, |
983 | #[doc (alias = "GST_EVENT_CUSTOM_DOWNSTREAM" )] |
984 | CustomDownstream, |
985 | #[doc (alias = "GST_EVENT_CUSTOM_DOWNSTREAM_OOB" )] |
986 | CustomDownstreamOob, |
987 | #[doc (alias = "GST_EVENT_CUSTOM_DOWNSTREAM_STICKY" )] |
988 | CustomDownstreamSticky, |
989 | #[doc (alias = "GST_EVENT_CUSTOM_BOTH" )] |
990 | CustomBoth, |
991 | #[doc (alias = "GST_EVENT_CUSTOM_BOTH_OOB" )] |
992 | CustomBothOob, |
993 | #[doc (hidden)] |
994 | __Unknown(i32), |
995 | } |
996 | |
997 | impl EventType { |
998 | #[doc (alias = "gst_event_type_get_flags" )] |
999 | #[doc (alias = "get_flags" )] |
1000 | pub fn flags(self) -> EventTypeFlags { |
1001 | assert_initialized_main_thread!(); |
1002 | unsafe { from_glib(val:ffi::gst_event_type_get_flags(self.into_glib())) } |
1003 | } |
1004 | |
1005 | pub fn name<'a>(self) -> &'a GStr { |
1006 | unsafe { |
1007 | GStr::from_ptr( |
1008 | ffi::gst_event_type_get_name(self.into_glib()) |
1009 | .as_ref() |
1010 | .expect(msg:"gst_event_type_get_name returned NULL" ), |
1011 | ) |
1012 | } |
1013 | } |
1014 | |
1015 | #[doc (alias = "gst_event_type_to_quark" )] |
1016 | pub fn to_quark(self) -> glib::Quark { |
1017 | assert_initialized_main_thread!(); |
1018 | unsafe { from_glib(val:ffi::gst_event_type_to_quark(self.into_glib())) } |
1019 | } |
1020 | } |
1021 | |
1022 | impl std::fmt::Display for EventType { |
1023 | #[inline ] |
1024 | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { |
1025 | f.write_str(&self.name()) |
1026 | } |
1027 | } |
1028 | |
1029 | #[doc (hidden)] |
1030 | impl IntoGlib for EventType { |
1031 | type GlibType = ffi::GstEventType; |
1032 | |
1033 | fn into_glib(self) -> ffi::GstEventType { |
1034 | match self { |
1035 | Self::Unknown => ffi::GST_EVENT_UNKNOWN, |
1036 | Self::FlushStart => ffi::GST_EVENT_FLUSH_START, |
1037 | Self::FlushStop => ffi::GST_EVENT_FLUSH_STOP, |
1038 | Self::StreamStart => ffi::GST_EVENT_STREAM_START, |
1039 | Self::Caps => ffi::GST_EVENT_CAPS, |
1040 | Self::Segment => ffi::GST_EVENT_SEGMENT, |
1041 | Self::StreamCollection => ffi::GST_EVENT_STREAM_COLLECTION, |
1042 | Self::Tag => ffi::GST_EVENT_TAG, |
1043 | Self::Buffersize => ffi::GST_EVENT_BUFFERSIZE, |
1044 | Self::SinkMessage => ffi::GST_EVENT_SINK_MESSAGE, |
1045 | Self::StreamGroupDone => ffi::GST_EVENT_STREAM_GROUP_DONE, |
1046 | Self::Eos => ffi::GST_EVENT_EOS, |
1047 | Self::Toc => ffi::GST_EVENT_TOC, |
1048 | Self::Protection => ffi::GST_EVENT_PROTECTION, |
1049 | Self::SegmentDone => ffi::GST_EVENT_SEGMENT_DONE, |
1050 | Self::Gap => ffi::GST_EVENT_GAP, |
1051 | #[cfg (feature = "v1_18" )] |
1052 | Self::InstantRateChange => ffi::GST_EVENT_INSTANT_RATE_CHANGE, |
1053 | Self::Qos => ffi::GST_EVENT_QOS, |
1054 | Self::Seek => ffi::GST_EVENT_SEEK, |
1055 | Self::Navigation => ffi::GST_EVENT_NAVIGATION, |
1056 | Self::Latency => ffi::GST_EVENT_LATENCY, |
1057 | Self::Step => ffi::GST_EVENT_STEP, |
1058 | Self::Reconfigure => ffi::GST_EVENT_RECONFIGURE, |
1059 | Self::TocSelect => ffi::GST_EVENT_TOC_SELECT, |
1060 | Self::SelectStreams => ffi::GST_EVENT_SELECT_STREAMS, |
1061 | #[cfg (feature = "v1_18" )] |
1062 | Self::InstantRateSyncTime => ffi::GST_EVENT_INSTANT_RATE_SYNC_TIME, |
1063 | Self::CustomUpstream => ffi::GST_EVENT_CUSTOM_UPSTREAM, |
1064 | Self::CustomDownstream => ffi::GST_EVENT_CUSTOM_DOWNSTREAM, |
1065 | Self::CustomDownstreamOob => ffi::GST_EVENT_CUSTOM_DOWNSTREAM_OOB, |
1066 | Self::CustomDownstreamSticky => ffi::GST_EVENT_CUSTOM_DOWNSTREAM_STICKY, |
1067 | Self::CustomBoth => ffi::GST_EVENT_CUSTOM_BOTH, |
1068 | Self::CustomBothOob => ffi::GST_EVENT_CUSTOM_BOTH_OOB, |
1069 | Self::__Unknown(value) => value, |
1070 | } |
1071 | } |
1072 | } |
1073 | |
1074 | #[doc (hidden)] |
1075 | impl FromGlib<ffi::GstEventType> for EventType { |
1076 | unsafe fn from_glib(value: ffi::GstEventType) -> Self { |
1077 | skip_assert_initialized!(); |
1078 | |
1079 | match value { |
1080 | ffi::GST_EVENT_UNKNOWN => Self::Unknown, |
1081 | ffi::GST_EVENT_FLUSH_START => Self::FlushStart, |
1082 | ffi::GST_EVENT_FLUSH_STOP => Self::FlushStop, |
1083 | ffi::GST_EVENT_STREAM_START => Self::StreamStart, |
1084 | ffi::GST_EVENT_CAPS => Self::Caps, |
1085 | ffi::GST_EVENT_SEGMENT => Self::Segment, |
1086 | ffi::GST_EVENT_STREAM_COLLECTION => Self::StreamCollection, |
1087 | ffi::GST_EVENT_TAG => Self::Tag, |
1088 | ffi::GST_EVENT_BUFFERSIZE => Self::Buffersize, |
1089 | ffi::GST_EVENT_SINK_MESSAGE => Self::SinkMessage, |
1090 | ffi::GST_EVENT_STREAM_GROUP_DONE => Self::StreamGroupDone, |
1091 | ffi::GST_EVENT_EOS => Self::Eos, |
1092 | ffi::GST_EVENT_TOC => Self::Toc, |
1093 | ffi::GST_EVENT_PROTECTION => Self::Protection, |
1094 | ffi::GST_EVENT_SEGMENT_DONE => Self::SegmentDone, |
1095 | ffi::GST_EVENT_GAP => Self::Gap, |
1096 | #[cfg (feature = "v1_18" )] |
1097 | ffi::GST_EVENT_INSTANT_RATE_CHANGE => Self::InstantRateChange, |
1098 | ffi::GST_EVENT_QOS => Self::Qos, |
1099 | ffi::GST_EVENT_SEEK => Self::Seek, |
1100 | ffi::GST_EVENT_NAVIGATION => Self::Navigation, |
1101 | ffi::GST_EVENT_LATENCY => Self::Latency, |
1102 | ffi::GST_EVENT_STEP => Self::Step, |
1103 | ffi::GST_EVENT_RECONFIGURE => Self::Reconfigure, |
1104 | ffi::GST_EVENT_TOC_SELECT => Self::TocSelect, |
1105 | ffi::GST_EVENT_SELECT_STREAMS => Self::SelectStreams, |
1106 | #[cfg (feature = "v1_18" )] |
1107 | ffi::GST_EVENT_INSTANT_RATE_SYNC_TIME => Self::InstantRateSyncTime, |
1108 | ffi::GST_EVENT_CUSTOM_UPSTREAM => Self::CustomUpstream, |
1109 | ffi::GST_EVENT_CUSTOM_DOWNSTREAM => Self::CustomDownstream, |
1110 | ffi::GST_EVENT_CUSTOM_DOWNSTREAM_OOB => Self::CustomDownstreamOob, |
1111 | ffi::GST_EVENT_CUSTOM_DOWNSTREAM_STICKY => Self::CustomDownstreamSticky, |
1112 | ffi::GST_EVENT_CUSTOM_BOTH => Self::CustomBoth, |
1113 | ffi::GST_EVENT_CUSTOM_BOTH_OOB => Self::CustomBothOob, |
1114 | value => Self::__Unknown(value), |
1115 | } |
1116 | } |
1117 | } |
1118 | |
1119 | impl StaticType for EventType { |
1120 | #[inline ] |
1121 | #[doc (alias = "gst_event_type_get_type" )] |
1122 | fn static_type() -> glib::Type { |
1123 | unsafe { from_glib(val:ffi::gst_event_type_get_type()) } |
1124 | } |
1125 | } |
1126 | |
1127 | impl glib::HasParamSpec for EventType { |
1128 | type ParamSpec = glib::ParamSpecEnum; |
1129 | type SetValue = Self; |
1130 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
1131 | |
1132 | fn param_spec_builder() -> Self::BuilderFn { |
1133 | Self::ParamSpec::builder_with_default |
1134 | } |
1135 | } |
1136 | |
1137 | impl glib::value::ValueType for EventType { |
1138 | type Type = Self; |
1139 | } |
1140 | |
1141 | unsafe impl<'a> glib::value::FromValue<'a> for EventType { |
1142 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
1143 | |
1144 | #[inline ] |
1145 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
1146 | skip_assert_initialized!(); |
1147 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
1148 | } |
1149 | } |
1150 | |
1151 | impl ToValue for EventType { |
1152 | #[inline ] |
1153 | fn to_value(&self) -> glib::Value { |
1154 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
1155 | unsafe { |
1156 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
1157 | } |
1158 | value |
1159 | } |
1160 | |
1161 | #[inline ] |
1162 | fn value_type(&self) -> glib::Type { |
1163 | Self::static_type() |
1164 | } |
1165 | } |
1166 | |
1167 | impl From<EventType> for glib::Value { |
1168 | #[inline ] |
1169 | fn from(v: EventType) -> Self { |
1170 | skip_assert_initialized!(); |
1171 | ToValue::to_value(&v) |
1172 | } |
1173 | } |
1174 | |
1175 | #[cfg_attr (feature = "serde" , derive(serde::Serialize, serde::Deserialize))] |
1176 | #[derive (Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy)] |
1177 | #[non_exhaustive ] |
1178 | #[doc (alias = "GstFormat" )] |
1179 | pub enum Format { |
1180 | #[doc (alias = "GST_FORMAT_UNDEFINED" )] |
1181 | Undefined, |
1182 | #[doc (alias = "GST_FORMAT_DEFAULT" )] |
1183 | Default, |
1184 | #[doc (alias = "GST_FORMAT_BYTES" )] |
1185 | Bytes, |
1186 | #[doc (alias = "GST_FORMAT_TIME" )] |
1187 | Time, |
1188 | #[doc (alias = "GST_FORMAT_BUFFERS" )] |
1189 | Buffers, |
1190 | #[doc (alias = "GST_FORMAT_PERCENT" )] |
1191 | Percent, |
1192 | #[doc (hidden)] |
1193 | __Unknown(i32), |
1194 | } |
1195 | |
1196 | impl Format { |
1197 | #[doc (alias = "gst_format_get_by_nick" )] |
1198 | #[doc (alias = "get_by_nick" )] |
1199 | pub fn by_nick(nick: &str) -> Format { |
1200 | assert_initialized_main_thread!(); |
1201 | unsafe { from_glib(ffi::gst_format_get_by_nick(nick.to_glib_none().0)) } |
1202 | } |
1203 | |
1204 | //#[doc(alias = "gst_format_get_details")] |
1205 | //#[doc(alias = "get_details")] |
1206 | //pub fn details(self) -> /*Ignored*/Option<FormatDefinition> { |
1207 | // unsafe { TODO: call ffi:gst_format_get_details() } |
1208 | //} |
1209 | |
1210 | #[doc (alias = "gst_format_get_name" )] |
1211 | #[doc (alias = "get_name" )] |
1212 | pub fn name(self) -> Option<glib::GString> { |
1213 | assert_initialized_main_thread!(); |
1214 | unsafe { from_glib_none(ffi::gst_format_get_name(self.into_glib())) } |
1215 | } |
1216 | |
1217 | //#[doc(alias = "gst_format_iterate_definitions")] |
1218 | //pub fn iterate_definitions() -> /*Ignored*/Iterator { |
1219 | // unsafe { TODO: call ffi:gst_format_iterate_definitions() } |
1220 | //} |
1221 | |
1222 | #[doc (alias = "gst_format_to_quark" )] |
1223 | pub fn to_quark(self) -> glib::Quark { |
1224 | assert_initialized_main_thread!(); |
1225 | unsafe { from_glib(ffi::gst_format_to_quark(self.into_glib())) } |
1226 | } |
1227 | } |
1228 | |
1229 | #[doc (hidden)] |
1230 | impl IntoGlib for Format { |
1231 | type GlibType = ffi::GstFormat; |
1232 | |
1233 | #[inline ] |
1234 | fn into_glib(self) -> ffi::GstFormat { |
1235 | match self { |
1236 | Self::Undefined => ffi::GST_FORMAT_UNDEFINED, |
1237 | Self::Default => ffi::GST_FORMAT_DEFAULT, |
1238 | Self::Bytes => ffi::GST_FORMAT_BYTES, |
1239 | Self::Time => ffi::GST_FORMAT_TIME, |
1240 | Self::Buffers => ffi::GST_FORMAT_BUFFERS, |
1241 | Self::Percent => ffi::GST_FORMAT_PERCENT, |
1242 | Self::__Unknown(value: i32) => value, |
1243 | } |
1244 | } |
1245 | } |
1246 | |
1247 | #[doc (hidden)] |
1248 | impl FromGlib<ffi::GstFormat> for Format { |
1249 | #[inline ] |
1250 | unsafe fn from_glib(value: ffi::GstFormat) -> Self { |
1251 | skip_assert_initialized!(); |
1252 | |
1253 | match value { |
1254 | ffi::GST_FORMAT_UNDEFINED => Self::Undefined, |
1255 | ffi::GST_FORMAT_DEFAULT => Self::Default, |
1256 | ffi::GST_FORMAT_BYTES => Self::Bytes, |
1257 | ffi::GST_FORMAT_TIME => Self::Time, |
1258 | ffi::GST_FORMAT_BUFFERS => Self::Buffers, |
1259 | ffi::GST_FORMAT_PERCENT => Self::Percent, |
1260 | value: i32 => Self::__Unknown(value), |
1261 | } |
1262 | } |
1263 | } |
1264 | |
1265 | impl StaticType for Format { |
1266 | #[inline ] |
1267 | #[doc (alias = "gst_format_get_type" )] |
1268 | fn static_type() -> glib::Type { |
1269 | unsafe { from_glib(val:ffi::gst_format_get_type()) } |
1270 | } |
1271 | } |
1272 | |
1273 | impl glib::HasParamSpec for Format { |
1274 | type ParamSpec = glib::ParamSpecEnum; |
1275 | type SetValue = Self; |
1276 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
1277 | |
1278 | fn param_spec_builder() -> Self::BuilderFn { |
1279 | Self::ParamSpec::builder_with_default |
1280 | } |
1281 | } |
1282 | |
1283 | impl glib::value::ValueType for Format { |
1284 | type Type = Self; |
1285 | } |
1286 | |
1287 | unsafe impl<'a> glib::value::FromValue<'a> for Format { |
1288 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
1289 | |
1290 | #[inline ] |
1291 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
1292 | skip_assert_initialized!(); |
1293 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
1294 | } |
1295 | } |
1296 | |
1297 | impl ToValue for Format { |
1298 | #[inline ] |
1299 | fn to_value(&self) -> glib::Value { |
1300 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
1301 | unsafe { |
1302 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
1303 | } |
1304 | value |
1305 | } |
1306 | |
1307 | #[inline ] |
1308 | fn value_type(&self) -> glib::Type { |
1309 | Self::static_type() |
1310 | } |
1311 | } |
1312 | |
1313 | impl From<Format> for glib::Value { |
1314 | #[inline ] |
1315 | fn from(v: Format) -> Self { |
1316 | skip_assert_initialized!(); |
1317 | ToValue::to_value(&v) |
1318 | } |
1319 | } |
1320 | |
1321 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
1322 | #[non_exhaustive ] |
1323 | #[doc (alias = "GstLibraryError" )] |
1324 | pub enum LibraryError { |
1325 | #[doc (alias = "GST_LIBRARY_ERROR_FAILED" )] |
1326 | Failed, |
1327 | #[doc (alias = "GST_LIBRARY_ERROR_TOO_LAZY" )] |
1328 | TooLazy, |
1329 | #[doc (alias = "GST_LIBRARY_ERROR_INIT" )] |
1330 | Init, |
1331 | #[doc (alias = "GST_LIBRARY_ERROR_SHUTDOWN" )] |
1332 | Shutdown, |
1333 | #[doc (alias = "GST_LIBRARY_ERROR_SETTINGS" )] |
1334 | Settings, |
1335 | #[doc (alias = "GST_LIBRARY_ERROR_ENCODE" )] |
1336 | Encode, |
1337 | #[doc (hidden)] |
1338 | __Unknown(i32), |
1339 | } |
1340 | |
1341 | #[doc (hidden)] |
1342 | impl IntoGlib for LibraryError { |
1343 | type GlibType = ffi::GstLibraryError; |
1344 | |
1345 | #[inline ] |
1346 | fn into_glib(self) -> ffi::GstLibraryError { |
1347 | match self { |
1348 | Self::Failed => ffi::GST_LIBRARY_ERROR_FAILED, |
1349 | Self::TooLazy => ffi::GST_LIBRARY_ERROR_TOO_LAZY, |
1350 | Self::Init => ffi::GST_LIBRARY_ERROR_INIT, |
1351 | Self::Shutdown => ffi::GST_LIBRARY_ERROR_SHUTDOWN, |
1352 | Self::Settings => ffi::GST_LIBRARY_ERROR_SETTINGS, |
1353 | Self::Encode => ffi::GST_LIBRARY_ERROR_ENCODE, |
1354 | Self::__Unknown(value: i32) => value, |
1355 | } |
1356 | } |
1357 | } |
1358 | |
1359 | #[doc (hidden)] |
1360 | impl FromGlib<ffi::GstLibraryError> for LibraryError { |
1361 | #[inline ] |
1362 | unsafe fn from_glib(value: ffi::GstLibraryError) -> Self { |
1363 | skip_assert_initialized!(); |
1364 | |
1365 | match value { |
1366 | ffi::GST_LIBRARY_ERROR_FAILED => Self::Failed, |
1367 | ffi::GST_LIBRARY_ERROR_TOO_LAZY => Self::TooLazy, |
1368 | ffi::GST_LIBRARY_ERROR_INIT => Self::Init, |
1369 | ffi::GST_LIBRARY_ERROR_SHUTDOWN => Self::Shutdown, |
1370 | ffi::GST_LIBRARY_ERROR_SETTINGS => Self::Settings, |
1371 | ffi::GST_LIBRARY_ERROR_ENCODE => Self::Encode, |
1372 | value: i32 => Self::__Unknown(value), |
1373 | } |
1374 | } |
1375 | } |
1376 | |
1377 | impl glib::error::ErrorDomain for LibraryError { |
1378 | #[inline ] |
1379 | fn domain() -> glib::Quark { |
1380 | skip_assert_initialized!(); |
1381 | |
1382 | unsafe { from_glib(val:ffi::gst_library_error_quark()) } |
1383 | } |
1384 | |
1385 | #[inline ] |
1386 | fn code(self) -> i32 { |
1387 | self.into_glib() |
1388 | } |
1389 | |
1390 | #[inline ] |
1391 | #[allow (clippy::match_single_binding)] |
1392 | fn from(code: i32) -> Option<Self> { |
1393 | skip_assert_initialized!(); |
1394 | match unsafe { from_glib(val:code) } { |
1395 | Self::__Unknown(_) => Some(Self::Failed), |
1396 | value: LibraryError => Some(value), |
1397 | } |
1398 | } |
1399 | } |
1400 | |
1401 | impl StaticType for LibraryError { |
1402 | #[inline ] |
1403 | #[doc (alias = "gst_library_error_get_type" )] |
1404 | fn static_type() -> glib::Type { |
1405 | unsafe { from_glib(val:ffi::gst_library_error_get_type()) } |
1406 | } |
1407 | } |
1408 | |
1409 | impl glib::HasParamSpec for LibraryError { |
1410 | type ParamSpec = glib::ParamSpecEnum; |
1411 | type SetValue = Self; |
1412 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
1413 | |
1414 | fn param_spec_builder() -> Self::BuilderFn { |
1415 | Self::ParamSpec::builder_with_default |
1416 | } |
1417 | } |
1418 | |
1419 | impl glib::value::ValueType for LibraryError { |
1420 | type Type = Self; |
1421 | } |
1422 | |
1423 | unsafe impl<'a> glib::value::FromValue<'a> for LibraryError { |
1424 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
1425 | |
1426 | #[inline ] |
1427 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
1428 | skip_assert_initialized!(); |
1429 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
1430 | } |
1431 | } |
1432 | |
1433 | impl ToValue for LibraryError { |
1434 | #[inline ] |
1435 | fn to_value(&self) -> glib::Value { |
1436 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
1437 | unsafe { |
1438 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
1439 | } |
1440 | value |
1441 | } |
1442 | |
1443 | #[inline ] |
1444 | fn value_type(&self) -> glib::Type { |
1445 | Self::static_type() |
1446 | } |
1447 | } |
1448 | |
1449 | impl From<LibraryError> for glib::Value { |
1450 | #[inline ] |
1451 | fn from(v: LibraryError) -> Self { |
1452 | skip_assert_initialized!(); |
1453 | ToValue::to_value(&v) |
1454 | } |
1455 | } |
1456 | |
1457 | #[cfg_attr (feature = "serde" , derive(serde::Serialize, serde::Deserialize))] |
1458 | #[derive (Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy)] |
1459 | #[repr (i32)] |
1460 | #[doc (alias = "GstPadDirection" )] |
1461 | pub enum PadDirection { |
1462 | #[doc (alias = "GST_PAD_UNKNOWN" )] |
1463 | Unknown = ffi::GST_PAD_UNKNOWN, |
1464 | #[doc (alias = "GST_PAD_SRC" )] |
1465 | Src = ffi::GST_PAD_SRC, |
1466 | #[doc (alias = "GST_PAD_SINK" )] |
1467 | Sink = ffi::GST_PAD_SINK, |
1468 | } |
1469 | |
1470 | #[doc (hidden)] |
1471 | impl IntoGlib for PadDirection { |
1472 | type GlibType = ffi::GstPadDirection; |
1473 | |
1474 | #[inline ] |
1475 | fn into_glib(self) -> ffi::GstPadDirection { |
1476 | self as ffi::GstPadDirection |
1477 | } |
1478 | } |
1479 | |
1480 | #[doc (hidden)] |
1481 | impl FromGlib<ffi::GstPadDirection> for PadDirection { |
1482 | #[inline ] |
1483 | unsafe fn from_glib(value: ffi::GstPadDirection) -> Self { |
1484 | skip_assert_initialized!(); |
1485 | |
1486 | debug_assert!([ffi::GST_PAD_UNKNOWN, ffi::GST_PAD_SRC, ffi::GST_PAD_SINK].contains(&value)); |
1487 | std::mem::transmute(src:value) |
1488 | } |
1489 | } |
1490 | |
1491 | impl StaticType for PadDirection { |
1492 | #[inline ] |
1493 | #[doc (alias = "gst_pad_direction_get_type" )] |
1494 | fn static_type() -> glib::Type { |
1495 | unsafe { from_glib(val:ffi::gst_pad_direction_get_type()) } |
1496 | } |
1497 | } |
1498 | |
1499 | impl glib::HasParamSpec for PadDirection { |
1500 | type ParamSpec = glib::ParamSpecEnum; |
1501 | type SetValue = Self; |
1502 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
1503 | |
1504 | fn param_spec_builder() -> Self::BuilderFn { |
1505 | Self::ParamSpec::builder_with_default |
1506 | } |
1507 | } |
1508 | |
1509 | impl glib::value::ValueType for PadDirection { |
1510 | type Type = Self; |
1511 | } |
1512 | |
1513 | unsafe impl<'a> glib::value::FromValue<'a> for PadDirection { |
1514 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
1515 | |
1516 | #[inline ] |
1517 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
1518 | skip_assert_initialized!(); |
1519 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
1520 | } |
1521 | } |
1522 | |
1523 | impl ToValue for PadDirection { |
1524 | #[inline ] |
1525 | fn to_value(&self) -> glib::Value { |
1526 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
1527 | unsafe { |
1528 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
1529 | } |
1530 | value |
1531 | } |
1532 | |
1533 | #[inline ] |
1534 | fn value_type(&self) -> glib::Type { |
1535 | Self::static_type() |
1536 | } |
1537 | } |
1538 | |
1539 | impl From<PadDirection> for glib::Value { |
1540 | #[inline ] |
1541 | fn from(v: PadDirection) -> Self { |
1542 | skip_assert_initialized!(); |
1543 | ToValue::to_value(&v) |
1544 | } |
1545 | } |
1546 | |
1547 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
1548 | #[repr (i32)] |
1549 | #[doc (alias = "GstPadMode" )] |
1550 | pub enum PadMode { |
1551 | #[doc (alias = "GST_PAD_MODE_NONE" )] |
1552 | None = ffi::GST_PAD_MODE_NONE, |
1553 | #[doc (alias = "GST_PAD_MODE_PUSH" )] |
1554 | Push = ffi::GST_PAD_MODE_PUSH, |
1555 | #[doc (alias = "GST_PAD_MODE_PULL" )] |
1556 | Pull = ffi::GST_PAD_MODE_PULL, |
1557 | } |
1558 | |
1559 | impl PadMode { |
1560 | pub fn name<'a>(self) -> &'a GStr { |
1561 | unsafe { |
1562 | GStr::from_ptr( |
1563 | ffi::gst_pad_mode_get_name(self.into_glib()) |
1564 | .as_ref() |
1565 | .expect(msg:"gst_pad_mode_get_name returned NULL" ), |
1566 | ) |
1567 | } |
1568 | } |
1569 | } |
1570 | |
1571 | impl std::fmt::Display for PadMode { |
1572 | #[inline ] |
1573 | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { |
1574 | f.write_str(&self.name()) |
1575 | } |
1576 | } |
1577 | |
1578 | #[doc (hidden)] |
1579 | impl IntoGlib for PadMode { |
1580 | type GlibType = ffi::GstPadMode; |
1581 | |
1582 | #[inline ] |
1583 | fn into_glib(self) -> ffi::GstPadMode { |
1584 | self as ffi::GstPadMode |
1585 | } |
1586 | } |
1587 | |
1588 | #[doc (hidden)] |
1589 | impl FromGlib<ffi::GstPadMode> for PadMode { |
1590 | #[inline ] |
1591 | unsafe fn from_glib(value: ffi::GstPadMode) -> Self { |
1592 | skip_assert_initialized!(); |
1593 | |
1594 | debug_assert!([ |
1595 | ffi::GST_PAD_MODE_NONE, |
1596 | ffi::GST_PAD_MODE_PUSH, |
1597 | ffi::GST_PAD_MODE_PULL |
1598 | ] |
1599 | .contains(&value)); |
1600 | std::mem::transmute(src:value) |
1601 | } |
1602 | } |
1603 | |
1604 | impl StaticType for PadMode { |
1605 | #[inline ] |
1606 | #[doc (alias = "gst_pad_mode_get_type" )] |
1607 | fn static_type() -> glib::Type { |
1608 | unsafe { from_glib(val:ffi::gst_pad_mode_get_type()) } |
1609 | } |
1610 | } |
1611 | |
1612 | impl glib::HasParamSpec for PadMode { |
1613 | type ParamSpec = glib::ParamSpecEnum; |
1614 | type SetValue = Self; |
1615 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
1616 | |
1617 | fn param_spec_builder() -> Self::BuilderFn { |
1618 | Self::ParamSpec::builder_with_default |
1619 | } |
1620 | } |
1621 | |
1622 | impl glib::value::ValueType for PadMode { |
1623 | type Type = Self; |
1624 | } |
1625 | |
1626 | unsafe impl<'a> glib::value::FromValue<'a> for PadMode { |
1627 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
1628 | |
1629 | #[inline ] |
1630 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
1631 | skip_assert_initialized!(); |
1632 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
1633 | } |
1634 | } |
1635 | |
1636 | impl ToValue for PadMode { |
1637 | #[inline ] |
1638 | fn to_value(&self) -> glib::Value { |
1639 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
1640 | unsafe { |
1641 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
1642 | } |
1643 | value |
1644 | } |
1645 | |
1646 | #[inline ] |
1647 | fn value_type(&self) -> glib::Type { |
1648 | Self::static_type() |
1649 | } |
1650 | } |
1651 | |
1652 | impl From<PadMode> for glib::Value { |
1653 | #[inline ] |
1654 | fn from(v: PadMode) -> Self { |
1655 | skip_assert_initialized!(); |
1656 | ToValue::to_value(&v) |
1657 | } |
1658 | } |
1659 | |
1660 | #[cfg_attr (feature = "serde" , derive(serde::Serialize, serde::Deserialize))] |
1661 | #[derive (Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy)] |
1662 | #[repr (i32)] |
1663 | #[doc (alias = "GstPadPresence" )] |
1664 | pub enum PadPresence { |
1665 | #[doc (alias = "GST_PAD_ALWAYS" )] |
1666 | Always = ffi::GST_PAD_ALWAYS, |
1667 | #[doc (alias = "GST_PAD_SOMETIMES" )] |
1668 | Sometimes = ffi::GST_PAD_SOMETIMES, |
1669 | #[doc (alias = "GST_PAD_REQUEST" )] |
1670 | Request = ffi::GST_PAD_REQUEST, |
1671 | } |
1672 | |
1673 | #[doc (hidden)] |
1674 | impl IntoGlib for PadPresence { |
1675 | type GlibType = ffi::GstPadPresence; |
1676 | |
1677 | #[inline ] |
1678 | fn into_glib(self) -> ffi::GstPadPresence { |
1679 | self as ffi::GstPadPresence |
1680 | } |
1681 | } |
1682 | |
1683 | #[doc (hidden)] |
1684 | impl FromGlib<ffi::GstPadPresence> for PadPresence { |
1685 | #[inline ] |
1686 | unsafe fn from_glib(value: ffi::GstPadPresence) -> Self { |
1687 | skip_assert_initialized!(); |
1688 | |
1689 | debug_assert!([ |
1690 | ffi::GST_PAD_ALWAYS, |
1691 | ffi::GST_PAD_SOMETIMES, |
1692 | ffi::GST_PAD_REQUEST |
1693 | ] |
1694 | .contains(&value)); |
1695 | std::mem::transmute(src:value) |
1696 | } |
1697 | } |
1698 | |
1699 | impl StaticType for PadPresence { |
1700 | #[inline ] |
1701 | #[doc (alias = "gst_pad_presence_get_type" )] |
1702 | fn static_type() -> glib::Type { |
1703 | unsafe { from_glib(val:ffi::gst_pad_presence_get_type()) } |
1704 | } |
1705 | } |
1706 | |
1707 | impl glib::HasParamSpec for PadPresence { |
1708 | type ParamSpec = glib::ParamSpecEnum; |
1709 | type SetValue = Self; |
1710 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
1711 | |
1712 | fn param_spec_builder() -> Self::BuilderFn { |
1713 | Self::ParamSpec::builder_with_default |
1714 | } |
1715 | } |
1716 | |
1717 | impl glib::value::ValueType for PadPresence { |
1718 | type Type = Self; |
1719 | } |
1720 | |
1721 | unsafe impl<'a> glib::value::FromValue<'a> for PadPresence { |
1722 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
1723 | |
1724 | #[inline ] |
1725 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
1726 | skip_assert_initialized!(); |
1727 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
1728 | } |
1729 | } |
1730 | |
1731 | impl ToValue for PadPresence { |
1732 | #[inline ] |
1733 | fn to_value(&self) -> glib::Value { |
1734 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
1735 | unsafe { |
1736 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
1737 | } |
1738 | value |
1739 | } |
1740 | |
1741 | #[inline ] |
1742 | fn value_type(&self) -> glib::Type { |
1743 | Self::static_type() |
1744 | } |
1745 | } |
1746 | |
1747 | impl From<PadPresence> for glib::Value { |
1748 | #[inline ] |
1749 | fn from(v: PadPresence) -> Self { |
1750 | skip_assert_initialized!(); |
1751 | ToValue::to_value(&v) |
1752 | } |
1753 | } |
1754 | |
1755 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
1756 | #[repr (i32)] |
1757 | #[doc (alias = "GstPadProbeReturn" )] |
1758 | pub enum PadProbeReturn { |
1759 | #[doc (alias = "GST_PAD_PROBE_DROP" )] |
1760 | Drop = ffi::GST_PAD_PROBE_DROP, |
1761 | #[doc (alias = "GST_PAD_PROBE_OK" )] |
1762 | Ok = ffi::GST_PAD_PROBE_OK, |
1763 | #[doc (alias = "GST_PAD_PROBE_REMOVE" )] |
1764 | Remove = ffi::GST_PAD_PROBE_REMOVE, |
1765 | #[doc (alias = "GST_PAD_PROBE_PASS" )] |
1766 | Pass = ffi::GST_PAD_PROBE_PASS, |
1767 | #[doc (alias = "GST_PAD_PROBE_HANDLED" )] |
1768 | Handled = ffi::GST_PAD_PROBE_HANDLED, |
1769 | } |
1770 | |
1771 | #[doc (hidden)] |
1772 | impl IntoGlib for PadProbeReturn { |
1773 | type GlibType = ffi::GstPadProbeReturn; |
1774 | |
1775 | #[inline ] |
1776 | fn into_glib(self) -> ffi::GstPadProbeReturn { |
1777 | self as ffi::GstPadProbeReturn |
1778 | } |
1779 | } |
1780 | |
1781 | #[doc (hidden)] |
1782 | impl FromGlib<ffi::GstPadProbeReturn> for PadProbeReturn { |
1783 | #[inline ] |
1784 | unsafe fn from_glib(value: ffi::GstPadProbeReturn) -> Self { |
1785 | skip_assert_initialized!(); |
1786 | |
1787 | debug_assert!([ |
1788 | ffi::GST_PAD_PROBE_DROP, |
1789 | ffi::GST_PAD_PROBE_OK, |
1790 | ffi::GST_PAD_PROBE_REMOVE, |
1791 | ffi::GST_PAD_PROBE_PASS, |
1792 | ffi::GST_PAD_PROBE_HANDLED |
1793 | ] |
1794 | .contains(&value)); |
1795 | std::mem::transmute(src:value) |
1796 | } |
1797 | } |
1798 | |
1799 | impl StaticType for PadProbeReturn { |
1800 | #[inline ] |
1801 | #[doc (alias = "gst_pad_probe_return_get_type" )] |
1802 | fn static_type() -> glib::Type { |
1803 | unsafe { from_glib(val:ffi::gst_pad_probe_return_get_type()) } |
1804 | } |
1805 | } |
1806 | |
1807 | impl glib::HasParamSpec for PadProbeReturn { |
1808 | type ParamSpec = glib::ParamSpecEnum; |
1809 | type SetValue = Self; |
1810 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
1811 | |
1812 | fn param_spec_builder() -> Self::BuilderFn { |
1813 | Self::ParamSpec::builder_with_default |
1814 | } |
1815 | } |
1816 | |
1817 | impl glib::value::ValueType for PadProbeReturn { |
1818 | type Type = Self; |
1819 | } |
1820 | |
1821 | unsafe impl<'a> glib::value::FromValue<'a> for PadProbeReturn { |
1822 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
1823 | |
1824 | #[inline ] |
1825 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
1826 | skip_assert_initialized!(); |
1827 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
1828 | } |
1829 | } |
1830 | |
1831 | impl ToValue for PadProbeReturn { |
1832 | #[inline ] |
1833 | fn to_value(&self) -> glib::Value { |
1834 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
1835 | unsafe { |
1836 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
1837 | } |
1838 | value |
1839 | } |
1840 | |
1841 | #[inline ] |
1842 | fn value_type(&self) -> glib::Type { |
1843 | Self::static_type() |
1844 | } |
1845 | } |
1846 | |
1847 | impl From<PadProbeReturn> for glib::Value { |
1848 | #[inline ] |
1849 | fn from(v: PadProbeReturn) -> Self { |
1850 | skip_assert_initialized!(); |
1851 | ToValue::to_value(&v) |
1852 | } |
1853 | } |
1854 | |
1855 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
1856 | #[non_exhaustive ] |
1857 | #[doc (alias = "GstParseError" )] |
1858 | pub enum ParseError { |
1859 | #[doc (alias = "GST_PARSE_ERROR_SYNTAX" )] |
1860 | Syntax, |
1861 | #[doc (alias = "GST_PARSE_ERROR_NO_SUCH_ELEMENT" )] |
1862 | NoSuchElement, |
1863 | #[doc (alias = "GST_PARSE_ERROR_NO_SUCH_PROPERTY" )] |
1864 | NoSuchProperty, |
1865 | #[doc (alias = "GST_PARSE_ERROR_LINK" )] |
1866 | Link, |
1867 | #[doc (alias = "GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY" )] |
1868 | CouldNotSetProperty, |
1869 | #[doc (alias = "GST_PARSE_ERROR_EMPTY_BIN" )] |
1870 | EmptyBin, |
1871 | #[doc (alias = "GST_PARSE_ERROR_EMPTY" )] |
1872 | Empty, |
1873 | #[doc (alias = "GST_PARSE_ERROR_DELAYED_LINK" )] |
1874 | DelayedLink, |
1875 | #[doc (hidden)] |
1876 | __Unknown(i32), |
1877 | } |
1878 | |
1879 | #[doc (hidden)] |
1880 | impl IntoGlib for ParseError { |
1881 | type GlibType = ffi::GstParseError; |
1882 | |
1883 | #[inline ] |
1884 | fn into_glib(self) -> ffi::GstParseError { |
1885 | match self { |
1886 | Self::Syntax => ffi::GST_PARSE_ERROR_SYNTAX, |
1887 | Self::NoSuchElement => ffi::GST_PARSE_ERROR_NO_SUCH_ELEMENT, |
1888 | Self::NoSuchProperty => ffi::GST_PARSE_ERROR_NO_SUCH_PROPERTY, |
1889 | Self::Link => ffi::GST_PARSE_ERROR_LINK, |
1890 | Self::CouldNotSetProperty => ffi::GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY, |
1891 | Self::EmptyBin => ffi::GST_PARSE_ERROR_EMPTY_BIN, |
1892 | Self::Empty => ffi::GST_PARSE_ERROR_EMPTY, |
1893 | Self::DelayedLink => ffi::GST_PARSE_ERROR_DELAYED_LINK, |
1894 | Self::__Unknown(value: i32) => value, |
1895 | } |
1896 | } |
1897 | } |
1898 | |
1899 | #[doc (hidden)] |
1900 | impl FromGlib<ffi::GstParseError> for ParseError { |
1901 | #[inline ] |
1902 | unsafe fn from_glib(value: ffi::GstParseError) -> Self { |
1903 | skip_assert_initialized!(); |
1904 | |
1905 | match value { |
1906 | ffi::GST_PARSE_ERROR_SYNTAX => Self::Syntax, |
1907 | ffi::GST_PARSE_ERROR_NO_SUCH_ELEMENT => Self::NoSuchElement, |
1908 | ffi::GST_PARSE_ERROR_NO_SUCH_PROPERTY => Self::NoSuchProperty, |
1909 | ffi::GST_PARSE_ERROR_LINK => Self::Link, |
1910 | ffi::GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY => Self::CouldNotSetProperty, |
1911 | ffi::GST_PARSE_ERROR_EMPTY_BIN => Self::EmptyBin, |
1912 | ffi::GST_PARSE_ERROR_EMPTY => Self::Empty, |
1913 | ffi::GST_PARSE_ERROR_DELAYED_LINK => Self::DelayedLink, |
1914 | value: i32 => Self::__Unknown(value), |
1915 | } |
1916 | } |
1917 | } |
1918 | |
1919 | impl glib::error::ErrorDomain for ParseError { |
1920 | #[inline ] |
1921 | fn domain() -> glib::Quark { |
1922 | skip_assert_initialized!(); |
1923 | |
1924 | unsafe { from_glib(val:ffi::gst_parse_error_quark()) } |
1925 | } |
1926 | |
1927 | #[inline ] |
1928 | fn code(self) -> i32 { |
1929 | self.into_glib() |
1930 | } |
1931 | |
1932 | #[inline ] |
1933 | #[allow (clippy::match_single_binding)] |
1934 | fn from(code: i32) -> Option<Self> { |
1935 | skip_assert_initialized!(); |
1936 | match unsafe { from_glib(val:code) } { |
1937 | value: ParseError => Some(value), |
1938 | } |
1939 | } |
1940 | } |
1941 | |
1942 | impl StaticType for ParseError { |
1943 | #[inline ] |
1944 | #[doc (alias = "gst_parse_error_get_type" )] |
1945 | fn static_type() -> glib::Type { |
1946 | unsafe { from_glib(val:ffi::gst_parse_error_get_type()) } |
1947 | } |
1948 | } |
1949 | |
1950 | impl glib::HasParamSpec for ParseError { |
1951 | type ParamSpec = glib::ParamSpecEnum; |
1952 | type SetValue = Self; |
1953 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
1954 | |
1955 | fn param_spec_builder() -> Self::BuilderFn { |
1956 | Self::ParamSpec::builder_with_default |
1957 | } |
1958 | } |
1959 | |
1960 | impl glib::value::ValueType for ParseError { |
1961 | type Type = Self; |
1962 | } |
1963 | |
1964 | unsafe impl<'a> glib::value::FromValue<'a> for ParseError { |
1965 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
1966 | |
1967 | #[inline ] |
1968 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
1969 | skip_assert_initialized!(); |
1970 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
1971 | } |
1972 | } |
1973 | |
1974 | impl ToValue for ParseError { |
1975 | #[inline ] |
1976 | fn to_value(&self) -> glib::Value { |
1977 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
1978 | unsafe { |
1979 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
1980 | } |
1981 | value |
1982 | } |
1983 | |
1984 | #[inline ] |
1985 | fn value_type(&self) -> glib::Type { |
1986 | Self::static_type() |
1987 | } |
1988 | } |
1989 | |
1990 | impl From<ParseError> for glib::Value { |
1991 | #[inline ] |
1992 | fn from(v: ParseError) -> Self { |
1993 | skip_assert_initialized!(); |
1994 | ToValue::to_value(&v) |
1995 | } |
1996 | } |
1997 | |
1998 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
1999 | #[non_exhaustive ] |
2000 | #[doc (alias = "GstPluginError" )] |
2001 | pub enum PluginError { |
2002 | #[doc (alias = "GST_PLUGIN_ERROR_MODULE" )] |
2003 | Module, |
2004 | #[doc (alias = "GST_PLUGIN_ERROR_DEPENDENCIES" )] |
2005 | Dependencies, |
2006 | #[doc (alias = "GST_PLUGIN_ERROR_NAME_MISMATCH" )] |
2007 | NameMismatch, |
2008 | #[doc (hidden)] |
2009 | __Unknown(i32), |
2010 | } |
2011 | |
2012 | #[doc (hidden)] |
2013 | impl IntoGlib for PluginError { |
2014 | type GlibType = ffi::GstPluginError; |
2015 | |
2016 | #[inline ] |
2017 | fn into_glib(self) -> ffi::GstPluginError { |
2018 | match self { |
2019 | Self::Module => ffi::GST_PLUGIN_ERROR_MODULE, |
2020 | Self::Dependencies => ffi::GST_PLUGIN_ERROR_DEPENDENCIES, |
2021 | Self::NameMismatch => ffi::GST_PLUGIN_ERROR_NAME_MISMATCH, |
2022 | Self::__Unknown(value: i32) => value, |
2023 | } |
2024 | } |
2025 | } |
2026 | |
2027 | #[doc (hidden)] |
2028 | impl FromGlib<ffi::GstPluginError> for PluginError { |
2029 | #[inline ] |
2030 | unsafe fn from_glib(value: ffi::GstPluginError) -> Self { |
2031 | skip_assert_initialized!(); |
2032 | |
2033 | match value { |
2034 | ffi::GST_PLUGIN_ERROR_MODULE => Self::Module, |
2035 | ffi::GST_PLUGIN_ERROR_DEPENDENCIES => Self::Dependencies, |
2036 | ffi::GST_PLUGIN_ERROR_NAME_MISMATCH => Self::NameMismatch, |
2037 | value: i32 => Self::__Unknown(value), |
2038 | } |
2039 | } |
2040 | } |
2041 | |
2042 | impl glib::error::ErrorDomain for PluginError { |
2043 | #[inline ] |
2044 | fn domain() -> glib::Quark { |
2045 | skip_assert_initialized!(); |
2046 | |
2047 | unsafe { from_glib(val:ffi::gst_plugin_error_quark()) } |
2048 | } |
2049 | |
2050 | #[inline ] |
2051 | fn code(self) -> i32 { |
2052 | self.into_glib() |
2053 | } |
2054 | |
2055 | #[inline ] |
2056 | #[allow (clippy::match_single_binding)] |
2057 | fn from(code: i32) -> Option<Self> { |
2058 | skip_assert_initialized!(); |
2059 | match unsafe { from_glib(val:code) } { |
2060 | value: PluginError => Some(value), |
2061 | } |
2062 | } |
2063 | } |
2064 | |
2065 | impl StaticType for PluginError { |
2066 | #[inline ] |
2067 | #[doc (alias = "gst_plugin_error_get_type" )] |
2068 | fn static_type() -> glib::Type { |
2069 | unsafe { from_glib(val:ffi::gst_plugin_error_get_type()) } |
2070 | } |
2071 | } |
2072 | |
2073 | impl glib::HasParamSpec for PluginError { |
2074 | type ParamSpec = glib::ParamSpecEnum; |
2075 | type SetValue = Self; |
2076 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
2077 | |
2078 | fn param_spec_builder() -> Self::BuilderFn { |
2079 | Self::ParamSpec::builder_with_default |
2080 | } |
2081 | } |
2082 | |
2083 | impl glib::value::ValueType for PluginError { |
2084 | type Type = Self; |
2085 | } |
2086 | |
2087 | unsafe impl<'a> glib::value::FromValue<'a> for PluginError { |
2088 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
2089 | |
2090 | #[inline ] |
2091 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
2092 | skip_assert_initialized!(); |
2093 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
2094 | } |
2095 | } |
2096 | |
2097 | impl ToValue for PluginError { |
2098 | #[inline ] |
2099 | fn to_value(&self) -> glib::Value { |
2100 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
2101 | unsafe { |
2102 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
2103 | } |
2104 | value |
2105 | } |
2106 | |
2107 | #[inline ] |
2108 | fn value_type(&self) -> glib::Type { |
2109 | Self::static_type() |
2110 | } |
2111 | } |
2112 | |
2113 | impl From<PluginError> for glib::Value { |
2114 | #[inline ] |
2115 | fn from(v: PluginError) -> Self { |
2116 | skip_assert_initialized!(); |
2117 | ToValue::to_value(&v) |
2118 | } |
2119 | } |
2120 | |
2121 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
2122 | #[non_exhaustive ] |
2123 | #[doc (alias = "GstProgressType" )] |
2124 | pub enum ProgressType { |
2125 | #[doc (alias = "GST_PROGRESS_TYPE_START" )] |
2126 | Start, |
2127 | #[doc (alias = "GST_PROGRESS_TYPE_CONTINUE" )] |
2128 | Continue, |
2129 | #[doc (alias = "GST_PROGRESS_TYPE_COMPLETE" )] |
2130 | Complete, |
2131 | #[doc (alias = "GST_PROGRESS_TYPE_CANCELED" )] |
2132 | Canceled, |
2133 | #[doc (alias = "GST_PROGRESS_TYPE_ERROR" )] |
2134 | Error, |
2135 | #[doc (hidden)] |
2136 | __Unknown(i32), |
2137 | } |
2138 | |
2139 | #[doc (hidden)] |
2140 | impl IntoGlib for ProgressType { |
2141 | type GlibType = ffi::GstProgressType; |
2142 | |
2143 | #[inline ] |
2144 | fn into_glib(self) -> ffi::GstProgressType { |
2145 | match self { |
2146 | Self::Start => ffi::GST_PROGRESS_TYPE_START, |
2147 | Self::Continue => ffi::GST_PROGRESS_TYPE_CONTINUE, |
2148 | Self::Complete => ffi::GST_PROGRESS_TYPE_COMPLETE, |
2149 | Self::Canceled => ffi::GST_PROGRESS_TYPE_CANCELED, |
2150 | Self::Error => ffi::GST_PROGRESS_TYPE_ERROR, |
2151 | Self::__Unknown(value: i32) => value, |
2152 | } |
2153 | } |
2154 | } |
2155 | |
2156 | #[doc (hidden)] |
2157 | impl FromGlib<ffi::GstProgressType> for ProgressType { |
2158 | #[inline ] |
2159 | unsafe fn from_glib(value: ffi::GstProgressType) -> Self { |
2160 | skip_assert_initialized!(); |
2161 | |
2162 | match value { |
2163 | ffi::GST_PROGRESS_TYPE_START => Self::Start, |
2164 | ffi::GST_PROGRESS_TYPE_CONTINUE => Self::Continue, |
2165 | ffi::GST_PROGRESS_TYPE_COMPLETE => Self::Complete, |
2166 | ffi::GST_PROGRESS_TYPE_CANCELED => Self::Canceled, |
2167 | ffi::GST_PROGRESS_TYPE_ERROR => Self::Error, |
2168 | value: i32 => Self::__Unknown(value), |
2169 | } |
2170 | } |
2171 | } |
2172 | |
2173 | impl StaticType for ProgressType { |
2174 | #[inline ] |
2175 | #[doc (alias = "gst_progress_type_get_type" )] |
2176 | fn static_type() -> glib::Type { |
2177 | unsafe { from_glib(val:ffi::gst_progress_type_get_type()) } |
2178 | } |
2179 | } |
2180 | |
2181 | impl glib::HasParamSpec for ProgressType { |
2182 | type ParamSpec = glib::ParamSpecEnum; |
2183 | type SetValue = Self; |
2184 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
2185 | |
2186 | fn param_spec_builder() -> Self::BuilderFn { |
2187 | Self::ParamSpec::builder_with_default |
2188 | } |
2189 | } |
2190 | |
2191 | impl glib::value::ValueType for ProgressType { |
2192 | type Type = Self; |
2193 | } |
2194 | |
2195 | unsafe impl<'a> glib::value::FromValue<'a> for ProgressType { |
2196 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
2197 | |
2198 | #[inline ] |
2199 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
2200 | skip_assert_initialized!(); |
2201 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
2202 | } |
2203 | } |
2204 | |
2205 | impl ToValue for ProgressType { |
2206 | #[inline ] |
2207 | fn to_value(&self) -> glib::Value { |
2208 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
2209 | unsafe { |
2210 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
2211 | } |
2212 | value |
2213 | } |
2214 | |
2215 | #[inline ] |
2216 | fn value_type(&self) -> glib::Type { |
2217 | Self::static_type() |
2218 | } |
2219 | } |
2220 | |
2221 | impl From<ProgressType> for glib::Value { |
2222 | #[inline ] |
2223 | fn from(v: ProgressType) -> Self { |
2224 | skip_assert_initialized!(); |
2225 | ToValue::to_value(&v) |
2226 | } |
2227 | } |
2228 | |
2229 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
2230 | #[non_exhaustive ] |
2231 | #[doc (alias = "GstPromiseResult" )] |
2232 | pub enum PromiseResult { |
2233 | #[doc (alias = "GST_PROMISE_RESULT_PENDING" )] |
2234 | Pending, |
2235 | #[doc (alias = "GST_PROMISE_RESULT_INTERRUPTED" )] |
2236 | Interrupted, |
2237 | #[doc (alias = "GST_PROMISE_RESULT_REPLIED" )] |
2238 | Replied, |
2239 | #[doc (alias = "GST_PROMISE_RESULT_EXPIRED" )] |
2240 | Expired, |
2241 | #[doc (hidden)] |
2242 | __Unknown(i32), |
2243 | } |
2244 | |
2245 | #[doc (hidden)] |
2246 | impl IntoGlib for PromiseResult { |
2247 | type GlibType = ffi::GstPromiseResult; |
2248 | |
2249 | #[inline ] |
2250 | fn into_glib(self) -> ffi::GstPromiseResult { |
2251 | match self { |
2252 | Self::Pending => ffi::GST_PROMISE_RESULT_PENDING, |
2253 | Self::Interrupted => ffi::GST_PROMISE_RESULT_INTERRUPTED, |
2254 | Self::Replied => ffi::GST_PROMISE_RESULT_REPLIED, |
2255 | Self::Expired => ffi::GST_PROMISE_RESULT_EXPIRED, |
2256 | Self::__Unknown(value: i32) => value, |
2257 | } |
2258 | } |
2259 | } |
2260 | |
2261 | #[doc (hidden)] |
2262 | impl FromGlib<ffi::GstPromiseResult> for PromiseResult { |
2263 | #[inline ] |
2264 | unsafe fn from_glib(value: ffi::GstPromiseResult) -> Self { |
2265 | skip_assert_initialized!(); |
2266 | |
2267 | match value { |
2268 | ffi::GST_PROMISE_RESULT_PENDING => Self::Pending, |
2269 | ffi::GST_PROMISE_RESULT_INTERRUPTED => Self::Interrupted, |
2270 | ffi::GST_PROMISE_RESULT_REPLIED => Self::Replied, |
2271 | ffi::GST_PROMISE_RESULT_EXPIRED => Self::Expired, |
2272 | value: i32 => Self::__Unknown(value), |
2273 | } |
2274 | } |
2275 | } |
2276 | |
2277 | impl StaticType for PromiseResult { |
2278 | #[inline ] |
2279 | #[doc (alias = "gst_promise_result_get_type" )] |
2280 | fn static_type() -> glib::Type { |
2281 | unsafe { from_glib(val:ffi::gst_promise_result_get_type()) } |
2282 | } |
2283 | } |
2284 | |
2285 | impl glib::HasParamSpec for PromiseResult { |
2286 | type ParamSpec = glib::ParamSpecEnum; |
2287 | type SetValue = Self; |
2288 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
2289 | |
2290 | fn param_spec_builder() -> Self::BuilderFn { |
2291 | Self::ParamSpec::builder_with_default |
2292 | } |
2293 | } |
2294 | |
2295 | impl glib::value::ValueType for PromiseResult { |
2296 | type Type = Self; |
2297 | } |
2298 | |
2299 | unsafe impl<'a> glib::value::FromValue<'a> for PromiseResult { |
2300 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
2301 | |
2302 | #[inline ] |
2303 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
2304 | skip_assert_initialized!(); |
2305 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
2306 | } |
2307 | } |
2308 | |
2309 | impl ToValue for PromiseResult { |
2310 | #[inline ] |
2311 | fn to_value(&self) -> glib::Value { |
2312 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
2313 | unsafe { |
2314 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
2315 | } |
2316 | value |
2317 | } |
2318 | |
2319 | #[inline ] |
2320 | fn value_type(&self) -> glib::Type { |
2321 | Self::static_type() |
2322 | } |
2323 | } |
2324 | |
2325 | impl From<PromiseResult> for glib::Value { |
2326 | #[inline ] |
2327 | fn from(v: PromiseResult) -> Self { |
2328 | skip_assert_initialized!(); |
2329 | ToValue::to_value(&v) |
2330 | } |
2331 | } |
2332 | |
2333 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
2334 | #[non_exhaustive ] |
2335 | #[doc (alias = "GstQOSType" )] |
2336 | pub enum QOSType { |
2337 | #[doc (alias = "GST_QOS_TYPE_OVERFLOW" )] |
2338 | Overflow, |
2339 | #[doc (alias = "GST_QOS_TYPE_UNDERFLOW" )] |
2340 | Underflow, |
2341 | #[doc (alias = "GST_QOS_TYPE_THROTTLE" )] |
2342 | Throttle, |
2343 | #[doc (hidden)] |
2344 | __Unknown(i32), |
2345 | } |
2346 | |
2347 | #[doc (hidden)] |
2348 | impl IntoGlib for QOSType { |
2349 | type GlibType = ffi::GstQOSType; |
2350 | |
2351 | #[inline ] |
2352 | fn into_glib(self) -> ffi::GstQOSType { |
2353 | match self { |
2354 | Self::Overflow => ffi::GST_QOS_TYPE_OVERFLOW, |
2355 | Self::Underflow => ffi::GST_QOS_TYPE_UNDERFLOW, |
2356 | Self::Throttle => ffi::GST_QOS_TYPE_THROTTLE, |
2357 | Self::__Unknown(value: i32) => value, |
2358 | } |
2359 | } |
2360 | } |
2361 | |
2362 | #[doc (hidden)] |
2363 | impl FromGlib<ffi::GstQOSType> for QOSType { |
2364 | #[inline ] |
2365 | unsafe fn from_glib(value: ffi::GstQOSType) -> Self { |
2366 | skip_assert_initialized!(); |
2367 | |
2368 | match value { |
2369 | ffi::GST_QOS_TYPE_OVERFLOW => Self::Overflow, |
2370 | ffi::GST_QOS_TYPE_UNDERFLOW => Self::Underflow, |
2371 | ffi::GST_QOS_TYPE_THROTTLE => Self::Throttle, |
2372 | value: i32 => Self::__Unknown(value), |
2373 | } |
2374 | } |
2375 | } |
2376 | |
2377 | impl StaticType for QOSType { |
2378 | #[inline ] |
2379 | #[doc (alias = "gst_qos_type_get_type" )] |
2380 | fn static_type() -> glib::Type { |
2381 | unsafe { from_glib(val:ffi::gst_qos_type_get_type()) } |
2382 | } |
2383 | } |
2384 | |
2385 | impl glib::HasParamSpec for QOSType { |
2386 | type ParamSpec = glib::ParamSpecEnum; |
2387 | type SetValue = Self; |
2388 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
2389 | |
2390 | fn param_spec_builder() -> Self::BuilderFn { |
2391 | Self::ParamSpec::builder_with_default |
2392 | } |
2393 | } |
2394 | |
2395 | impl glib::value::ValueType for QOSType { |
2396 | type Type = Self; |
2397 | } |
2398 | |
2399 | unsafe impl<'a> glib::value::FromValue<'a> for QOSType { |
2400 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
2401 | |
2402 | #[inline ] |
2403 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
2404 | skip_assert_initialized!(); |
2405 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
2406 | } |
2407 | } |
2408 | |
2409 | impl ToValue for QOSType { |
2410 | #[inline ] |
2411 | fn to_value(&self) -> glib::Value { |
2412 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
2413 | unsafe { |
2414 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
2415 | } |
2416 | value |
2417 | } |
2418 | |
2419 | #[inline ] |
2420 | fn value_type(&self) -> glib::Type { |
2421 | Self::static_type() |
2422 | } |
2423 | } |
2424 | |
2425 | impl From<QOSType> for glib::Value { |
2426 | #[inline ] |
2427 | fn from(v: QOSType) -> Self { |
2428 | skip_assert_initialized!(); |
2429 | ToValue::to_value(&v) |
2430 | } |
2431 | } |
2432 | |
2433 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
2434 | #[non_exhaustive ] |
2435 | #[doc (alias = "GstResourceError" )] |
2436 | pub enum ResourceError { |
2437 | #[doc (alias = "GST_RESOURCE_ERROR_FAILED" )] |
2438 | Failed, |
2439 | #[doc (alias = "GST_RESOURCE_ERROR_TOO_LAZY" )] |
2440 | TooLazy, |
2441 | #[doc (alias = "GST_RESOURCE_ERROR_NOT_FOUND" )] |
2442 | NotFound, |
2443 | #[doc (alias = "GST_RESOURCE_ERROR_BUSY" )] |
2444 | Busy, |
2445 | #[doc (alias = "GST_RESOURCE_ERROR_OPEN_READ" )] |
2446 | OpenRead, |
2447 | #[doc (alias = "GST_RESOURCE_ERROR_OPEN_WRITE" )] |
2448 | OpenWrite, |
2449 | #[doc (alias = "GST_RESOURCE_ERROR_OPEN_READ_WRITE" )] |
2450 | OpenReadWrite, |
2451 | #[doc (alias = "GST_RESOURCE_ERROR_CLOSE" )] |
2452 | Close, |
2453 | #[doc (alias = "GST_RESOURCE_ERROR_READ" )] |
2454 | Read, |
2455 | #[doc (alias = "GST_RESOURCE_ERROR_WRITE" )] |
2456 | Write, |
2457 | #[doc (alias = "GST_RESOURCE_ERROR_SEEK" )] |
2458 | Seek, |
2459 | #[doc (alias = "GST_RESOURCE_ERROR_SYNC" )] |
2460 | Sync, |
2461 | #[doc (alias = "GST_RESOURCE_ERROR_SETTINGS" )] |
2462 | Settings, |
2463 | #[doc (alias = "GST_RESOURCE_ERROR_NO_SPACE_LEFT" )] |
2464 | NoSpaceLeft, |
2465 | #[doc (alias = "GST_RESOURCE_ERROR_NOT_AUTHORIZED" )] |
2466 | NotAuthorized, |
2467 | #[doc (hidden)] |
2468 | __Unknown(i32), |
2469 | } |
2470 | |
2471 | #[doc (hidden)] |
2472 | impl IntoGlib for ResourceError { |
2473 | type GlibType = ffi::GstResourceError; |
2474 | |
2475 | fn into_glib(self) -> ffi::GstResourceError { |
2476 | match self { |
2477 | Self::Failed => ffi::GST_RESOURCE_ERROR_FAILED, |
2478 | Self::TooLazy => ffi::GST_RESOURCE_ERROR_TOO_LAZY, |
2479 | Self::NotFound => ffi::GST_RESOURCE_ERROR_NOT_FOUND, |
2480 | Self::Busy => ffi::GST_RESOURCE_ERROR_BUSY, |
2481 | Self::OpenRead => ffi::GST_RESOURCE_ERROR_OPEN_READ, |
2482 | Self::OpenWrite => ffi::GST_RESOURCE_ERROR_OPEN_WRITE, |
2483 | Self::OpenReadWrite => ffi::GST_RESOURCE_ERROR_OPEN_READ_WRITE, |
2484 | Self::Close => ffi::GST_RESOURCE_ERROR_CLOSE, |
2485 | Self::Read => ffi::GST_RESOURCE_ERROR_READ, |
2486 | Self::Write => ffi::GST_RESOURCE_ERROR_WRITE, |
2487 | Self::Seek => ffi::GST_RESOURCE_ERROR_SEEK, |
2488 | Self::Sync => ffi::GST_RESOURCE_ERROR_SYNC, |
2489 | Self::Settings => ffi::GST_RESOURCE_ERROR_SETTINGS, |
2490 | Self::NoSpaceLeft => ffi::GST_RESOURCE_ERROR_NO_SPACE_LEFT, |
2491 | Self::NotAuthorized => ffi::GST_RESOURCE_ERROR_NOT_AUTHORIZED, |
2492 | Self::__Unknown(value: i32) => value, |
2493 | } |
2494 | } |
2495 | } |
2496 | |
2497 | #[doc (hidden)] |
2498 | impl FromGlib<ffi::GstResourceError> for ResourceError { |
2499 | unsafe fn from_glib(value: ffi::GstResourceError) -> Self { |
2500 | skip_assert_initialized!(); |
2501 | |
2502 | match value { |
2503 | ffi::GST_RESOURCE_ERROR_FAILED => Self::Failed, |
2504 | ffi::GST_RESOURCE_ERROR_TOO_LAZY => Self::TooLazy, |
2505 | ffi::GST_RESOURCE_ERROR_NOT_FOUND => Self::NotFound, |
2506 | ffi::GST_RESOURCE_ERROR_BUSY => Self::Busy, |
2507 | ffi::GST_RESOURCE_ERROR_OPEN_READ => Self::OpenRead, |
2508 | ffi::GST_RESOURCE_ERROR_OPEN_WRITE => Self::OpenWrite, |
2509 | ffi::GST_RESOURCE_ERROR_OPEN_READ_WRITE => Self::OpenReadWrite, |
2510 | ffi::GST_RESOURCE_ERROR_CLOSE => Self::Close, |
2511 | ffi::GST_RESOURCE_ERROR_READ => Self::Read, |
2512 | ffi::GST_RESOURCE_ERROR_WRITE => Self::Write, |
2513 | ffi::GST_RESOURCE_ERROR_SEEK => Self::Seek, |
2514 | ffi::GST_RESOURCE_ERROR_SYNC => Self::Sync, |
2515 | ffi::GST_RESOURCE_ERROR_SETTINGS => Self::Settings, |
2516 | ffi::GST_RESOURCE_ERROR_NO_SPACE_LEFT => Self::NoSpaceLeft, |
2517 | ffi::GST_RESOURCE_ERROR_NOT_AUTHORIZED => Self::NotAuthorized, |
2518 | value: i32 => Self::__Unknown(value), |
2519 | } |
2520 | } |
2521 | } |
2522 | |
2523 | impl glib::error::ErrorDomain for ResourceError { |
2524 | #[inline ] |
2525 | fn domain() -> glib::Quark { |
2526 | skip_assert_initialized!(); |
2527 | |
2528 | unsafe { from_glib(val:ffi::gst_resource_error_quark()) } |
2529 | } |
2530 | |
2531 | #[inline ] |
2532 | fn code(self) -> i32 { |
2533 | self.into_glib() |
2534 | } |
2535 | |
2536 | #[inline ] |
2537 | #[allow (clippy::match_single_binding)] |
2538 | fn from(code: i32) -> Option<Self> { |
2539 | skip_assert_initialized!(); |
2540 | match unsafe { from_glib(val:code) } { |
2541 | Self::__Unknown(_) => Some(Self::Failed), |
2542 | value: ResourceError => Some(value), |
2543 | } |
2544 | } |
2545 | } |
2546 | |
2547 | impl StaticType for ResourceError { |
2548 | #[inline ] |
2549 | #[doc (alias = "gst_resource_error_get_type" )] |
2550 | fn static_type() -> glib::Type { |
2551 | unsafe { from_glib(val:ffi::gst_resource_error_get_type()) } |
2552 | } |
2553 | } |
2554 | |
2555 | impl glib::HasParamSpec for ResourceError { |
2556 | type ParamSpec = glib::ParamSpecEnum; |
2557 | type SetValue = Self; |
2558 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
2559 | |
2560 | fn param_spec_builder() -> Self::BuilderFn { |
2561 | Self::ParamSpec::builder_with_default |
2562 | } |
2563 | } |
2564 | |
2565 | impl glib::value::ValueType for ResourceError { |
2566 | type Type = Self; |
2567 | } |
2568 | |
2569 | unsafe impl<'a> glib::value::FromValue<'a> for ResourceError { |
2570 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
2571 | |
2572 | #[inline ] |
2573 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
2574 | skip_assert_initialized!(); |
2575 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
2576 | } |
2577 | } |
2578 | |
2579 | impl ToValue for ResourceError { |
2580 | #[inline ] |
2581 | fn to_value(&self) -> glib::Value { |
2582 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
2583 | unsafe { |
2584 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
2585 | } |
2586 | value |
2587 | } |
2588 | |
2589 | #[inline ] |
2590 | fn value_type(&self) -> glib::Type { |
2591 | Self::static_type() |
2592 | } |
2593 | } |
2594 | |
2595 | impl From<ResourceError> for glib::Value { |
2596 | #[inline ] |
2597 | fn from(v: ResourceError) -> Self { |
2598 | skip_assert_initialized!(); |
2599 | ToValue::to_value(&v) |
2600 | } |
2601 | } |
2602 | |
2603 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
2604 | #[repr (i32)] |
2605 | #[doc (alias = "GstSeekType" )] |
2606 | pub enum SeekType { |
2607 | #[doc (alias = "GST_SEEK_TYPE_NONE" )] |
2608 | None = ffi::GST_SEEK_TYPE_NONE, |
2609 | #[doc (alias = "GST_SEEK_TYPE_SET" )] |
2610 | Set = ffi::GST_SEEK_TYPE_SET, |
2611 | #[doc (alias = "GST_SEEK_TYPE_END" )] |
2612 | End = ffi::GST_SEEK_TYPE_END, |
2613 | } |
2614 | |
2615 | #[doc (hidden)] |
2616 | impl IntoGlib for SeekType { |
2617 | type GlibType = ffi::GstSeekType; |
2618 | |
2619 | #[inline ] |
2620 | fn into_glib(self) -> ffi::GstSeekType { |
2621 | self as ffi::GstSeekType |
2622 | } |
2623 | } |
2624 | |
2625 | #[doc (hidden)] |
2626 | impl FromGlib<ffi::GstSeekType> for SeekType { |
2627 | #[inline ] |
2628 | unsafe fn from_glib(value: ffi::GstSeekType) -> Self { |
2629 | skip_assert_initialized!(); |
2630 | |
2631 | debug_assert!([ |
2632 | ffi::GST_SEEK_TYPE_NONE, |
2633 | ffi::GST_SEEK_TYPE_SET, |
2634 | ffi::GST_SEEK_TYPE_END |
2635 | ] |
2636 | .contains(&value)); |
2637 | std::mem::transmute(src:value) |
2638 | } |
2639 | } |
2640 | |
2641 | impl StaticType for SeekType { |
2642 | #[inline ] |
2643 | #[doc (alias = "gst_seek_type_get_type" )] |
2644 | fn static_type() -> glib::Type { |
2645 | unsafe { from_glib(val:ffi::gst_seek_type_get_type()) } |
2646 | } |
2647 | } |
2648 | |
2649 | impl glib::HasParamSpec for SeekType { |
2650 | type ParamSpec = glib::ParamSpecEnum; |
2651 | type SetValue = Self; |
2652 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
2653 | |
2654 | fn param_spec_builder() -> Self::BuilderFn { |
2655 | Self::ParamSpec::builder_with_default |
2656 | } |
2657 | } |
2658 | |
2659 | impl glib::value::ValueType for SeekType { |
2660 | type Type = Self; |
2661 | } |
2662 | |
2663 | unsafe impl<'a> glib::value::FromValue<'a> for SeekType { |
2664 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
2665 | |
2666 | #[inline ] |
2667 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
2668 | skip_assert_initialized!(); |
2669 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
2670 | } |
2671 | } |
2672 | |
2673 | impl ToValue for SeekType { |
2674 | #[inline ] |
2675 | fn to_value(&self) -> glib::Value { |
2676 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
2677 | unsafe { |
2678 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
2679 | } |
2680 | value |
2681 | } |
2682 | |
2683 | #[inline ] |
2684 | fn value_type(&self) -> glib::Type { |
2685 | Self::static_type() |
2686 | } |
2687 | } |
2688 | |
2689 | impl From<SeekType> for glib::Value { |
2690 | #[inline ] |
2691 | fn from(v: SeekType) -> Self { |
2692 | skip_assert_initialized!(); |
2693 | ToValue::to_value(&v) |
2694 | } |
2695 | } |
2696 | |
2697 | #[cfg_attr (feature = "serde" , derive(serde::Serialize, serde::Deserialize))] |
2698 | #[derive (Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy)] |
2699 | #[repr (i32)] |
2700 | #[doc (alias = "GstState" )] |
2701 | pub enum State { |
2702 | #[doc (alias = "GST_STATE_VOID_PENDING" )] |
2703 | VoidPending = ffi::GST_STATE_VOID_PENDING, |
2704 | #[doc (alias = "GST_STATE_NULL" )] |
2705 | Null = ffi::GST_STATE_NULL, |
2706 | #[doc (alias = "GST_STATE_READY" )] |
2707 | Ready = ffi::GST_STATE_READY, |
2708 | #[doc (alias = "GST_STATE_PAUSED" )] |
2709 | Paused = ffi::GST_STATE_PAUSED, |
2710 | #[doc (alias = "GST_STATE_PLAYING" )] |
2711 | Playing = ffi::GST_STATE_PLAYING, |
2712 | } |
2713 | |
2714 | #[doc (hidden)] |
2715 | impl IntoGlib for State { |
2716 | type GlibType = ffi::GstState; |
2717 | |
2718 | #[inline ] |
2719 | fn into_glib(self) -> ffi::GstState { |
2720 | self as ffi::GstState |
2721 | } |
2722 | } |
2723 | |
2724 | #[doc (hidden)] |
2725 | impl FromGlib<ffi::GstState> for State { |
2726 | #[inline ] |
2727 | unsafe fn from_glib(value: ffi::GstState) -> Self { |
2728 | skip_assert_initialized!(); |
2729 | |
2730 | debug_assert!([ |
2731 | ffi::GST_STATE_VOID_PENDING, |
2732 | ffi::GST_STATE_NULL, |
2733 | ffi::GST_STATE_READY, |
2734 | ffi::GST_STATE_PAUSED, |
2735 | ffi::GST_STATE_PLAYING |
2736 | ] |
2737 | .contains(&value)); |
2738 | std::mem::transmute(src:value) |
2739 | } |
2740 | } |
2741 | |
2742 | impl StaticType for State { |
2743 | #[inline ] |
2744 | #[doc (alias = "gst_state_get_type" )] |
2745 | fn static_type() -> glib::Type { |
2746 | unsafe { from_glib(val:ffi::gst_state_get_type()) } |
2747 | } |
2748 | } |
2749 | |
2750 | impl glib::HasParamSpec for State { |
2751 | type ParamSpec = glib::ParamSpecEnum; |
2752 | type SetValue = Self; |
2753 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
2754 | |
2755 | fn param_spec_builder() -> Self::BuilderFn { |
2756 | Self::ParamSpec::builder_with_default |
2757 | } |
2758 | } |
2759 | |
2760 | impl glib::value::ValueType for State { |
2761 | type Type = Self; |
2762 | } |
2763 | |
2764 | unsafe impl<'a> glib::value::FromValue<'a> for State { |
2765 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
2766 | |
2767 | #[inline ] |
2768 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
2769 | skip_assert_initialized!(); |
2770 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
2771 | } |
2772 | } |
2773 | |
2774 | impl ToValue for State { |
2775 | #[inline ] |
2776 | fn to_value(&self) -> glib::Value { |
2777 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
2778 | unsafe { |
2779 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
2780 | } |
2781 | value |
2782 | } |
2783 | |
2784 | #[inline ] |
2785 | fn value_type(&self) -> glib::Type { |
2786 | Self::static_type() |
2787 | } |
2788 | } |
2789 | |
2790 | impl From<State> for glib::Value { |
2791 | #[inline ] |
2792 | fn from(v: State) -> Self { |
2793 | skip_assert_initialized!(); |
2794 | ToValue::to_value(&v) |
2795 | } |
2796 | } |
2797 | |
2798 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
2799 | #[repr (i32)] |
2800 | #[doc (alias = "GstStateChange" )] |
2801 | pub enum StateChange { |
2802 | #[doc (alias = "GST_STATE_CHANGE_NULL_TO_READY" )] |
2803 | NullToReady = ffi::GST_STATE_CHANGE_NULL_TO_READY, |
2804 | #[doc (alias = "GST_STATE_CHANGE_READY_TO_PAUSED" )] |
2805 | ReadyToPaused = ffi::GST_STATE_CHANGE_READY_TO_PAUSED, |
2806 | #[doc (alias = "GST_STATE_CHANGE_PAUSED_TO_PLAYING" )] |
2807 | PausedToPlaying = ffi::GST_STATE_CHANGE_PAUSED_TO_PLAYING, |
2808 | #[doc (alias = "GST_STATE_CHANGE_PLAYING_TO_PAUSED" )] |
2809 | PlayingToPaused = ffi::GST_STATE_CHANGE_PLAYING_TO_PAUSED, |
2810 | #[doc (alias = "GST_STATE_CHANGE_PAUSED_TO_READY" )] |
2811 | PausedToReady = ffi::GST_STATE_CHANGE_PAUSED_TO_READY, |
2812 | #[doc (alias = "GST_STATE_CHANGE_READY_TO_NULL" )] |
2813 | ReadyToNull = ffi::GST_STATE_CHANGE_READY_TO_NULL, |
2814 | #[doc (alias = "GST_STATE_CHANGE_NULL_TO_NULL" )] |
2815 | NullToNull = ffi::GST_STATE_CHANGE_NULL_TO_NULL, |
2816 | #[doc (alias = "GST_STATE_CHANGE_READY_TO_READY" )] |
2817 | ReadyToReady = ffi::GST_STATE_CHANGE_READY_TO_READY, |
2818 | #[doc (alias = "GST_STATE_CHANGE_PAUSED_TO_PAUSED" )] |
2819 | PausedToPaused = ffi::GST_STATE_CHANGE_PAUSED_TO_PAUSED, |
2820 | #[doc (alias = "GST_STATE_CHANGE_PLAYING_TO_PLAYING" )] |
2821 | PlayingToPlaying = ffi::GST_STATE_CHANGE_PLAYING_TO_PLAYING, |
2822 | } |
2823 | |
2824 | impl StateChange { |
2825 | pub fn name<'a>(self) -> &'a GStr { |
2826 | unsafe { |
2827 | GStr::from_ptr( |
2828 | ffi::gst_state_change_get_name(self.into_glib()) |
2829 | .as_ref() |
2830 | .expect(msg:"gst_state_change_get_name returned NULL" ), |
2831 | ) |
2832 | } |
2833 | } |
2834 | } |
2835 | |
2836 | impl std::fmt::Display for StateChange { |
2837 | #[inline ] |
2838 | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { |
2839 | f.write_str(&self.name()) |
2840 | } |
2841 | } |
2842 | |
2843 | #[doc (hidden)] |
2844 | impl IntoGlib for StateChange { |
2845 | type GlibType = ffi::GstStateChange; |
2846 | |
2847 | #[inline ] |
2848 | fn into_glib(self) -> ffi::GstStateChange { |
2849 | self as ffi::GstStateChange |
2850 | } |
2851 | } |
2852 | |
2853 | #[doc (hidden)] |
2854 | impl FromGlib<ffi::GstStateChange> for StateChange { |
2855 | #[inline ] |
2856 | unsafe fn from_glib(value: ffi::GstStateChange) -> Self { |
2857 | skip_assert_initialized!(); |
2858 | |
2859 | debug_assert!([ |
2860 | ffi::GST_STATE_CHANGE_NULL_TO_READY, |
2861 | ffi::GST_STATE_CHANGE_READY_TO_PAUSED, |
2862 | ffi::GST_STATE_CHANGE_PAUSED_TO_PLAYING, |
2863 | ffi::GST_STATE_CHANGE_PLAYING_TO_PAUSED, |
2864 | ffi::GST_STATE_CHANGE_PAUSED_TO_READY, |
2865 | ffi::GST_STATE_CHANGE_READY_TO_NULL, |
2866 | ffi::GST_STATE_CHANGE_NULL_TO_NULL, |
2867 | ffi::GST_STATE_CHANGE_READY_TO_READY, |
2868 | ffi::GST_STATE_CHANGE_PAUSED_TO_PAUSED, |
2869 | ffi::GST_STATE_CHANGE_PLAYING_TO_PLAYING |
2870 | ] |
2871 | .contains(&value)); |
2872 | std::mem::transmute(src:value) |
2873 | } |
2874 | } |
2875 | |
2876 | impl StaticType for StateChange { |
2877 | #[inline ] |
2878 | #[doc (alias = "gst_state_change_get_type" )] |
2879 | fn static_type() -> glib::Type { |
2880 | unsafe { from_glib(val:ffi::gst_state_change_get_type()) } |
2881 | } |
2882 | } |
2883 | |
2884 | impl glib::HasParamSpec for StateChange { |
2885 | type ParamSpec = glib::ParamSpecEnum; |
2886 | type SetValue = Self; |
2887 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
2888 | |
2889 | fn param_spec_builder() -> Self::BuilderFn { |
2890 | Self::ParamSpec::builder_with_default |
2891 | } |
2892 | } |
2893 | |
2894 | impl glib::value::ValueType for StateChange { |
2895 | type Type = Self; |
2896 | } |
2897 | |
2898 | unsafe impl<'a> glib::value::FromValue<'a> for StateChange { |
2899 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
2900 | |
2901 | #[inline ] |
2902 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
2903 | skip_assert_initialized!(); |
2904 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
2905 | } |
2906 | } |
2907 | |
2908 | impl ToValue for StateChange { |
2909 | #[inline ] |
2910 | fn to_value(&self) -> glib::Value { |
2911 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
2912 | unsafe { |
2913 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
2914 | } |
2915 | value |
2916 | } |
2917 | |
2918 | #[inline ] |
2919 | fn value_type(&self) -> glib::Type { |
2920 | Self::static_type() |
2921 | } |
2922 | } |
2923 | |
2924 | impl From<StateChange> for glib::Value { |
2925 | #[inline ] |
2926 | fn from(v: StateChange) -> Self { |
2927 | skip_assert_initialized!(); |
2928 | ToValue::to_value(&v) |
2929 | } |
2930 | } |
2931 | |
2932 | #[must_use ] |
2933 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
2934 | #[repr (i32)] |
2935 | #[doc (alias = "GstStateChangeReturn" )] |
2936 | pub enum StateChangeReturn { |
2937 | #[doc (alias = "GST_STATE_CHANGE_FAILURE" )] |
2938 | Failure = ffi::GST_STATE_CHANGE_FAILURE, |
2939 | #[doc (alias = "GST_STATE_CHANGE_SUCCESS" )] |
2940 | Success = ffi::GST_STATE_CHANGE_SUCCESS, |
2941 | #[doc (alias = "GST_STATE_CHANGE_ASYNC" )] |
2942 | Async = ffi::GST_STATE_CHANGE_ASYNC, |
2943 | #[doc (alias = "GST_STATE_CHANGE_NO_PREROLL" )] |
2944 | NoPreroll = ffi::GST_STATE_CHANGE_NO_PREROLL, |
2945 | } |
2946 | |
2947 | #[doc (hidden)] |
2948 | impl IntoGlib for StateChangeReturn { |
2949 | type GlibType = ffi::GstStateChangeReturn; |
2950 | |
2951 | #[inline ] |
2952 | fn into_glib(self) -> ffi::GstStateChangeReturn { |
2953 | self as ffi::GstStateChangeReturn |
2954 | } |
2955 | } |
2956 | |
2957 | #[doc (hidden)] |
2958 | impl FromGlib<ffi::GstStateChangeReturn> for StateChangeReturn { |
2959 | #[inline ] |
2960 | unsafe fn from_glib(value: ffi::GstStateChangeReturn) -> Self { |
2961 | skip_assert_initialized!(); |
2962 | |
2963 | debug_assert!([ |
2964 | ffi::GST_STATE_CHANGE_FAILURE, |
2965 | ffi::GST_STATE_CHANGE_SUCCESS, |
2966 | ffi::GST_STATE_CHANGE_ASYNC, |
2967 | ffi::GST_STATE_CHANGE_NO_PREROLL |
2968 | ] |
2969 | .contains(&value)); |
2970 | std::mem::transmute(src:value) |
2971 | } |
2972 | } |
2973 | |
2974 | impl StaticType for StateChangeReturn { |
2975 | #[inline ] |
2976 | #[doc (alias = "gst_state_change_return_get_type" )] |
2977 | fn static_type() -> glib::Type { |
2978 | unsafe { from_glib(val:ffi::gst_state_change_return_get_type()) } |
2979 | } |
2980 | } |
2981 | |
2982 | impl glib::HasParamSpec for StateChangeReturn { |
2983 | type ParamSpec = glib::ParamSpecEnum; |
2984 | type SetValue = Self; |
2985 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
2986 | |
2987 | fn param_spec_builder() -> Self::BuilderFn { |
2988 | Self::ParamSpec::builder_with_default |
2989 | } |
2990 | } |
2991 | |
2992 | impl glib::value::ValueType for StateChangeReturn { |
2993 | type Type = Self; |
2994 | } |
2995 | |
2996 | unsafe impl<'a> glib::value::FromValue<'a> for StateChangeReturn { |
2997 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
2998 | |
2999 | #[inline ] |
3000 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
3001 | skip_assert_initialized!(); |
3002 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
3003 | } |
3004 | } |
3005 | |
3006 | impl ToValue for StateChangeReturn { |
3007 | #[inline ] |
3008 | fn to_value(&self) -> glib::Value { |
3009 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
3010 | unsafe { |
3011 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
3012 | } |
3013 | value |
3014 | } |
3015 | |
3016 | #[inline ] |
3017 | fn value_type(&self) -> glib::Type { |
3018 | Self::static_type() |
3019 | } |
3020 | } |
3021 | |
3022 | impl From<StateChangeReturn> for glib::Value { |
3023 | #[inline ] |
3024 | fn from(v: StateChangeReturn) -> Self { |
3025 | skip_assert_initialized!(); |
3026 | ToValue::to_value(&v) |
3027 | } |
3028 | } |
3029 | |
3030 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
3031 | #[non_exhaustive ] |
3032 | #[doc (alias = "GstStreamError" )] |
3033 | pub enum StreamError { |
3034 | #[doc (alias = "GST_STREAM_ERROR_FAILED" )] |
3035 | Failed, |
3036 | #[doc (alias = "GST_STREAM_ERROR_TOO_LAZY" )] |
3037 | TooLazy, |
3038 | #[doc (alias = "GST_STREAM_ERROR_NOT_IMPLEMENTED" )] |
3039 | NotImplemented, |
3040 | #[doc (alias = "GST_STREAM_ERROR_TYPE_NOT_FOUND" )] |
3041 | TypeNotFound, |
3042 | #[doc (alias = "GST_STREAM_ERROR_WRONG_TYPE" )] |
3043 | WrongType, |
3044 | #[doc (alias = "GST_STREAM_ERROR_CODEC_NOT_FOUND" )] |
3045 | CodecNotFound, |
3046 | #[doc (alias = "GST_STREAM_ERROR_DECODE" )] |
3047 | Decode, |
3048 | #[doc (alias = "GST_STREAM_ERROR_ENCODE" )] |
3049 | Encode, |
3050 | #[doc (alias = "GST_STREAM_ERROR_DEMUX" )] |
3051 | Demux, |
3052 | #[doc (alias = "GST_STREAM_ERROR_MUX" )] |
3053 | Mux, |
3054 | #[doc (alias = "GST_STREAM_ERROR_FORMAT" )] |
3055 | Format, |
3056 | #[doc (alias = "GST_STREAM_ERROR_DECRYPT" )] |
3057 | Decrypt, |
3058 | #[doc (alias = "GST_STREAM_ERROR_DECRYPT_NOKEY" )] |
3059 | DecryptNokey, |
3060 | #[doc (hidden)] |
3061 | __Unknown(i32), |
3062 | } |
3063 | |
3064 | #[doc (hidden)] |
3065 | impl IntoGlib for StreamError { |
3066 | type GlibType = ffi::GstStreamError; |
3067 | |
3068 | fn into_glib(self) -> ffi::GstStreamError { |
3069 | match self { |
3070 | Self::Failed => ffi::GST_STREAM_ERROR_FAILED, |
3071 | Self::TooLazy => ffi::GST_STREAM_ERROR_TOO_LAZY, |
3072 | Self::NotImplemented => ffi::GST_STREAM_ERROR_NOT_IMPLEMENTED, |
3073 | Self::TypeNotFound => ffi::GST_STREAM_ERROR_TYPE_NOT_FOUND, |
3074 | Self::WrongType => ffi::GST_STREAM_ERROR_WRONG_TYPE, |
3075 | Self::CodecNotFound => ffi::GST_STREAM_ERROR_CODEC_NOT_FOUND, |
3076 | Self::Decode => ffi::GST_STREAM_ERROR_DECODE, |
3077 | Self::Encode => ffi::GST_STREAM_ERROR_ENCODE, |
3078 | Self::Demux => ffi::GST_STREAM_ERROR_DEMUX, |
3079 | Self::Mux => ffi::GST_STREAM_ERROR_MUX, |
3080 | Self::Format => ffi::GST_STREAM_ERROR_FORMAT, |
3081 | Self::Decrypt => ffi::GST_STREAM_ERROR_DECRYPT, |
3082 | Self::DecryptNokey => ffi::GST_STREAM_ERROR_DECRYPT_NOKEY, |
3083 | Self::__Unknown(value: i32) => value, |
3084 | } |
3085 | } |
3086 | } |
3087 | |
3088 | #[doc (hidden)] |
3089 | impl FromGlib<ffi::GstStreamError> for StreamError { |
3090 | unsafe fn from_glib(value: ffi::GstStreamError) -> Self { |
3091 | skip_assert_initialized!(); |
3092 | |
3093 | match value { |
3094 | ffi::GST_STREAM_ERROR_FAILED => Self::Failed, |
3095 | ffi::GST_STREAM_ERROR_TOO_LAZY => Self::TooLazy, |
3096 | ffi::GST_STREAM_ERROR_NOT_IMPLEMENTED => Self::NotImplemented, |
3097 | ffi::GST_STREAM_ERROR_TYPE_NOT_FOUND => Self::TypeNotFound, |
3098 | ffi::GST_STREAM_ERROR_WRONG_TYPE => Self::WrongType, |
3099 | ffi::GST_STREAM_ERROR_CODEC_NOT_FOUND => Self::CodecNotFound, |
3100 | ffi::GST_STREAM_ERROR_DECODE => Self::Decode, |
3101 | ffi::GST_STREAM_ERROR_ENCODE => Self::Encode, |
3102 | ffi::GST_STREAM_ERROR_DEMUX => Self::Demux, |
3103 | ffi::GST_STREAM_ERROR_MUX => Self::Mux, |
3104 | ffi::GST_STREAM_ERROR_FORMAT => Self::Format, |
3105 | ffi::GST_STREAM_ERROR_DECRYPT => Self::Decrypt, |
3106 | ffi::GST_STREAM_ERROR_DECRYPT_NOKEY => Self::DecryptNokey, |
3107 | value: i32 => Self::__Unknown(value), |
3108 | } |
3109 | } |
3110 | } |
3111 | |
3112 | impl glib::error::ErrorDomain for StreamError { |
3113 | #[inline ] |
3114 | fn domain() -> glib::Quark { |
3115 | skip_assert_initialized!(); |
3116 | |
3117 | unsafe { from_glib(val:ffi::gst_stream_error_quark()) } |
3118 | } |
3119 | |
3120 | #[inline ] |
3121 | fn code(self) -> i32 { |
3122 | self.into_glib() |
3123 | } |
3124 | |
3125 | #[inline ] |
3126 | #[allow (clippy::match_single_binding)] |
3127 | fn from(code: i32) -> Option<Self> { |
3128 | skip_assert_initialized!(); |
3129 | match unsafe { from_glib(val:code) } { |
3130 | Self::__Unknown(_) => Some(Self::Failed), |
3131 | value: StreamError => Some(value), |
3132 | } |
3133 | } |
3134 | } |
3135 | |
3136 | impl StaticType for StreamError { |
3137 | #[inline ] |
3138 | #[doc (alias = "gst_stream_error_get_type" )] |
3139 | fn static_type() -> glib::Type { |
3140 | unsafe { from_glib(val:ffi::gst_stream_error_get_type()) } |
3141 | } |
3142 | } |
3143 | |
3144 | impl glib::HasParamSpec for StreamError { |
3145 | type ParamSpec = glib::ParamSpecEnum; |
3146 | type SetValue = Self; |
3147 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
3148 | |
3149 | fn param_spec_builder() -> Self::BuilderFn { |
3150 | Self::ParamSpec::builder_with_default |
3151 | } |
3152 | } |
3153 | |
3154 | impl glib::value::ValueType for StreamError { |
3155 | type Type = Self; |
3156 | } |
3157 | |
3158 | unsafe impl<'a> glib::value::FromValue<'a> for StreamError { |
3159 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
3160 | |
3161 | #[inline ] |
3162 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
3163 | skip_assert_initialized!(); |
3164 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
3165 | } |
3166 | } |
3167 | |
3168 | impl ToValue for StreamError { |
3169 | #[inline ] |
3170 | fn to_value(&self) -> glib::Value { |
3171 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
3172 | unsafe { |
3173 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
3174 | } |
3175 | value |
3176 | } |
3177 | |
3178 | #[inline ] |
3179 | fn value_type(&self) -> glib::Type { |
3180 | Self::static_type() |
3181 | } |
3182 | } |
3183 | |
3184 | impl From<StreamError> for glib::Value { |
3185 | #[inline ] |
3186 | fn from(v: StreamError) -> Self { |
3187 | skip_assert_initialized!(); |
3188 | ToValue::to_value(&v) |
3189 | } |
3190 | } |
3191 | |
3192 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
3193 | #[non_exhaustive ] |
3194 | #[doc (alias = "GstStreamStatusType" )] |
3195 | pub enum StreamStatusType { |
3196 | #[doc (alias = "GST_STREAM_STATUS_TYPE_CREATE" )] |
3197 | Create, |
3198 | #[doc (alias = "GST_STREAM_STATUS_TYPE_ENTER" )] |
3199 | Enter, |
3200 | #[doc (alias = "GST_STREAM_STATUS_TYPE_LEAVE" )] |
3201 | Leave, |
3202 | #[doc (alias = "GST_STREAM_STATUS_TYPE_DESTROY" )] |
3203 | Destroy, |
3204 | #[doc (alias = "GST_STREAM_STATUS_TYPE_START" )] |
3205 | Start, |
3206 | #[doc (alias = "GST_STREAM_STATUS_TYPE_PAUSE" )] |
3207 | Pause, |
3208 | #[doc (alias = "GST_STREAM_STATUS_TYPE_STOP" )] |
3209 | Stop, |
3210 | #[doc (hidden)] |
3211 | __Unknown(i32), |
3212 | } |
3213 | |
3214 | #[doc (hidden)] |
3215 | impl IntoGlib for StreamStatusType { |
3216 | type GlibType = ffi::GstStreamStatusType; |
3217 | |
3218 | #[inline ] |
3219 | fn into_glib(self) -> ffi::GstStreamStatusType { |
3220 | match self { |
3221 | Self::Create => ffi::GST_STREAM_STATUS_TYPE_CREATE, |
3222 | Self::Enter => ffi::GST_STREAM_STATUS_TYPE_ENTER, |
3223 | Self::Leave => ffi::GST_STREAM_STATUS_TYPE_LEAVE, |
3224 | Self::Destroy => ffi::GST_STREAM_STATUS_TYPE_DESTROY, |
3225 | Self::Start => ffi::GST_STREAM_STATUS_TYPE_START, |
3226 | Self::Pause => ffi::GST_STREAM_STATUS_TYPE_PAUSE, |
3227 | Self::Stop => ffi::GST_STREAM_STATUS_TYPE_STOP, |
3228 | Self::__Unknown(value: i32) => value, |
3229 | } |
3230 | } |
3231 | } |
3232 | |
3233 | #[doc (hidden)] |
3234 | impl FromGlib<ffi::GstStreamStatusType> for StreamStatusType { |
3235 | #[inline ] |
3236 | unsafe fn from_glib(value: ffi::GstStreamStatusType) -> Self { |
3237 | skip_assert_initialized!(); |
3238 | |
3239 | match value { |
3240 | ffi::GST_STREAM_STATUS_TYPE_CREATE => Self::Create, |
3241 | ffi::GST_STREAM_STATUS_TYPE_ENTER => Self::Enter, |
3242 | ffi::GST_STREAM_STATUS_TYPE_LEAVE => Self::Leave, |
3243 | ffi::GST_STREAM_STATUS_TYPE_DESTROY => Self::Destroy, |
3244 | ffi::GST_STREAM_STATUS_TYPE_START => Self::Start, |
3245 | ffi::GST_STREAM_STATUS_TYPE_PAUSE => Self::Pause, |
3246 | ffi::GST_STREAM_STATUS_TYPE_STOP => Self::Stop, |
3247 | value: i32 => Self::__Unknown(value), |
3248 | } |
3249 | } |
3250 | } |
3251 | |
3252 | impl StaticType for StreamStatusType { |
3253 | #[inline ] |
3254 | #[doc (alias = "gst_stream_status_type_get_type" )] |
3255 | fn static_type() -> glib::Type { |
3256 | unsafe { from_glib(val:ffi::gst_stream_status_type_get_type()) } |
3257 | } |
3258 | } |
3259 | |
3260 | impl glib::HasParamSpec for StreamStatusType { |
3261 | type ParamSpec = glib::ParamSpecEnum; |
3262 | type SetValue = Self; |
3263 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
3264 | |
3265 | fn param_spec_builder() -> Self::BuilderFn { |
3266 | Self::ParamSpec::builder_with_default |
3267 | } |
3268 | } |
3269 | |
3270 | impl glib::value::ValueType for StreamStatusType { |
3271 | type Type = Self; |
3272 | } |
3273 | |
3274 | unsafe impl<'a> glib::value::FromValue<'a> for StreamStatusType { |
3275 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
3276 | |
3277 | #[inline ] |
3278 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
3279 | skip_assert_initialized!(); |
3280 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
3281 | } |
3282 | } |
3283 | |
3284 | impl ToValue for StreamStatusType { |
3285 | #[inline ] |
3286 | fn to_value(&self) -> glib::Value { |
3287 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
3288 | unsafe { |
3289 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
3290 | } |
3291 | value |
3292 | } |
3293 | |
3294 | #[inline ] |
3295 | fn value_type(&self) -> glib::Type { |
3296 | Self::static_type() |
3297 | } |
3298 | } |
3299 | |
3300 | impl From<StreamStatusType> for glib::Value { |
3301 | #[inline ] |
3302 | fn from(v: StreamStatusType) -> Self { |
3303 | skip_assert_initialized!(); |
3304 | ToValue::to_value(&v) |
3305 | } |
3306 | } |
3307 | |
3308 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
3309 | #[non_exhaustive ] |
3310 | #[doc (alias = "GstStructureChangeType" )] |
3311 | pub enum StructureChangeType { |
3312 | #[doc (alias = "GST_STRUCTURE_CHANGE_TYPE_PAD_LINK" )] |
3313 | Link, |
3314 | #[doc (alias = "GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK" )] |
3315 | Unlink, |
3316 | #[doc (hidden)] |
3317 | __Unknown(i32), |
3318 | } |
3319 | |
3320 | #[doc (hidden)] |
3321 | impl IntoGlib for StructureChangeType { |
3322 | type GlibType = ffi::GstStructureChangeType; |
3323 | |
3324 | #[inline ] |
3325 | fn into_glib(self) -> ffi::GstStructureChangeType { |
3326 | match self { |
3327 | Self::Link => ffi::GST_STRUCTURE_CHANGE_TYPE_PAD_LINK, |
3328 | Self::Unlink => ffi::GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK, |
3329 | Self::__Unknown(value: i32) => value, |
3330 | } |
3331 | } |
3332 | } |
3333 | |
3334 | #[doc (hidden)] |
3335 | impl FromGlib<ffi::GstStructureChangeType> for StructureChangeType { |
3336 | #[inline ] |
3337 | unsafe fn from_glib(value: ffi::GstStructureChangeType) -> Self { |
3338 | skip_assert_initialized!(); |
3339 | |
3340 | match value { |
3341 | ffi::GST_STRUCTURE_CHANGE_TYPE_PAD_LINK => Self::Link, |
3342 | ffi::GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK => Self::Unlink, |
3343 | value: i32 => Self::__Unknown(value), |
3344 | } |
3345 | } |
3346 | } |
3347 | |
3348 | impl StaticType for StructureChangeType { |
3349 | #[inline ] |
3350 | #[doc (alias = "gst_structure_change_type_get_type" )] |
3351 | fn static_type() -> glib::Type { |
3352 | unsafe { from_glib(val:ffi::gst_structure_change_type_get_type()) } |
3353 | } |
3354 | } |
3355 | |
3356 | impl glib::HasParamSpec for StructureChangeType { |
3357 | type ParamSpec = glib::ParamSpecEnum; |
3358 | type SetValue = Self; |
3359 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
3360 | |
3361 | fn param_spec_builder() -> Self::BuilderFn { |
3362 | Self::ParamSpec::builder_with_default |
3363 | } |
3364 | } |
3365 | |
3366 | impl glib::value::ValueType for StructureChangeType { |
3367 | type Type = Self; |
3368 | } |
3369 | |
3370 | unsafe impl<'a> glib::value::FromValue<'a> for StructureChangeType { |
3371 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
3372 | |
3373 | #[inline ] |
3374 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
3375 | skip_assert_initialized!(); |
3376 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
3377 | } |
3378 | } |
3379 | |
3380 | impl ToValue for StructureChangeType { |
3381 | #[inline ] |
3382 | fn to_value(&self) -> glib::Value { |
3383 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
3384 | unsafe { |
3385 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
3386 | } |
3387 | value |
3388 | } |
3389 | |
3390 | #[inline ] |
3391 | fn value_type(&self) -> glib::Type { |
3392 | Self::static_type() |
3393 | } |
3394 | } |
3395 | |
3396 | impl From<StructureChangeType> for glib::Value { |
3397 | #[inline ] |
3398 | fn from(v: StructureChangeType) -> Self { |
3399 | skip_assert_initialized!(); |
3400 | ToValue::to_value(&v) |
3401 | } |
3402 | } |
3403 | |
3404 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
3405 | #[non_exhaustive ] |
3406 | #[doc (alias = "GstTagFlag" )] |
3407 | pub enum TagFlag { |
3408 | #[doc (alias = "GST_TAG_FLAG_UNDEFINED" )] |
3409 | Undefined, |
3410 | #[doc (alias = "GST_TAG_FLAG_META" )] |
3411 | Meta, |
3412 | #[doc (alias = "GST_TAG_FLAG_ENCODED" )] |
3413 | Encoded, |
3414 | #[doc (alias = "GST_TAG_FLAG_DECODED" )] |
3415 | Decoded, |
3416 | #[doc (hidden)] |
3417 | __Unknown(i32), |
3418 | } |
3419 | |
3420 | #[doc (hidden)] |
3421 | impl IntoGlib for TagFlag { |
3422 | type GlibType = ffi::GstTagFlag; |
3423 | |
3424 | #[inline ] |
3425 | fn into_glib(self) -> ffi::GstTagFlag { |
3426 | match self { |
3427 | Self::Undefined => ffi::GST_TAG_FLAG_UNDEFINED, |
3428 | Self::Meta => ffi::GST_TAG_FLAG_META, |
3429 | Self::Encoded => ffi::GST_TAG_FLAG_ENCODED, |
3430 | Self::Decoded => ffi::GST_TAG_FLAG_DECODED, |
3431 | Self::__Unknown(value: i32) => value, |
3432 | } |
3433 | } |
3434 | } |
3435 | |
3436 | #[doc (hidden)] |
3437 | impl FromGlib<ffi::GstTagFlag> for TagFlag { |
3438 | #[inline ] |
3439 | unsafe fn from_glib(value: ffi::GstTagFlag) -> Self { |
3440 | skip_assert_initialized!(); |
3441 | |
3442 | match value { |
3443 | ffi::GST_TAG_FLAG_UNDEFINED => Self::Undefined, |
3444 | ffi::GST_TAG_FLAG_META => Self::Meta, |
3445 | ffi::GST_TAG_FLAG_ENCODED => Self::Encoded, |
3446 | ffi::GST_TAG_FLAG_DECODED => Self::Decoded, |
3447 | value: i32 => Self::__Unknown(value), |
3448 | } |
3449 | } |
3450 | } |
3451 | |
3452 | impl StaticType for TagFlag { |
3453 | #[inline ] |
3454 | #[doc (alias = "gst_tag_flag_get_type" )] |
3455 | fn static_type() -> glib::Type { |
3456 | unsafe { from_glib(val:ffi::gst_tag_flag_get_type()) } |
3457 | } |
3458 | } |
3459 | |
3460 | impl glib::HasParamSpec for TagFlag { |
3461 | type ParamSpec = glib::ParamSpecEnum; |
3462 | type SetValue = Self; |
3463 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
3464 | |
3465 | fn param_spec_builder() -> Self::BuilderFn { |
3466 | Self::ParamSpec::builder_with_default |
3467 | } |
3468 | } |
3469 | |
3470 | impl glib::value::ValueType for TagFlag { |
3471 | type Type = Self; |
3472 | } |
3473 | |
3474 | unsafe impl<'a> glib::value::FromValue<'a> for TagFlag { |
3475 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
3476 | |
3477 | #[inline ] |
3478 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
3479 | skip_assert_initialized!(); |
3480 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
3481 | } |
3482 | } |
3483 | |
3484 | impl ToValue for TagFlag { |
3485 | #[inline ] |
3486 | fn to_value(&self) -> glib::Value { |
3487 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
3488 | unsafe { |
3489 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
3490 | } |
3491 | value |
3492 | } |
3493 | |
3494 | #[inline ] |
3495 | fn value_type(&self) -> glib::Type { |
3496 | Self::static_type() |
3497 | } |
3498 | } |
3499 | |
3500 | impl From<TagFlag> for glib::Value { |
3501 | #[inline ] |
3502 | fn from(v: TagFlag) -> Self { |
3503 | skip_assert_initialized!(); |
3504 | ToValue::to_value(&v) |
3505 | } |
3506 | } |
3507 | |
3508 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
3509 | #[non_exhaustive ] |
3510 | #[doc (alias = "GstTagMergeMode" )] |
3511 | pub enum TagMergeMode { |
3512 | #[doc (alias = "GST_TAG_MERGE_UNDEFINED" )] |
3513 | Undefined, |
3514 | #[doc (alias = "GST_TAG_MERGE_REPLACE_ALL" )] |
3515 | ReplaceAll, |
3516 | #[doc (alias = "GST_TAG_MERGE_REPLACE" )] |
3517 | Replace, |
3518 | #[doc (alias = "GST_TAG_MERGE_APPEND" )] |
3519 | Append, |
3520 | #[doc (alias = "GST_TAG_MERGE_PREPEND" )] |
3521 | Prepend, |
3522 | #[doc (alias = "GST_TAG_MERGE_KEEP" )] |
3523 | Keep, |
3524 | #[doc (alias = "GST_TAG_MERGE_KEEP_ALL" )] |
3525 | KeepAll, |
3526 | #[doc (hidden)] |
3527 | __Unknown(i32), |
3528 | } |
3529 | |
3530 | #[doc (hidden)] |
3531 | impl IntoGlib for TagMergeMode { |
3532 | type GlibType = ffi::GstTagMergeMode; |
3533 | |
3534 | #[inline ] |
3535 | fn into_glib(self) -> ffi::GstTagMergeMode { |
3536 | match self { |
3537 | Self::Undefined => ffi::GST_TAG_MERGE_UNDEFINED, |
3538 | Self::ReplaceAll => ffi::GST_TAG_MERGE_REPLACE_ALL, |
3539 | Self::Replace => ffi::GST_TAG_MERGE_REPLACE, |
3540 | Self::Append => ffi::GST_TAG_MERGE_APPEND, |
3541 | Self::Prepend => ffi::GST_TAG_MERGE_PREPEND, |
3542 | Self::Keep => ffi::GST_TAG_MERGE_KEEP, |
3543 | Self::KeepAll => ffi::GST_TAG_MERGE_KEEP_ALL, |
3544 | Self::__Unknown(value: i32) => value, |
3545 | } |
3546 | } |
3547 | } |
3548 | |
3549 | #[doc (hidden)] |
3550 | impl FromGlib<ffi::GstTagMergeMode> for TagMergeMode { |
3551 | #[inline ] |
3552 | unsafe fn from_glib(value: ffi::GstTagMergeMode) -> Self { |
3553 | skip_assert_initialized!(); |
3554 | |
3555 | match value { |
3556 | ffi::GST_TAG_MERGE_UNDEFINED => Self::Undefined, |
3557 | ffi::GST_TAG_MERGE_REPLACE_ALL => Self::ReplaceAll, |
3558 | ffi::GST_TAG_MERGE_REPLACE => Self::Replace, |
3559 | ffi::GST_TAG_MERGE_APPEND => Self::Append, |
3560 | ffi::GST_TAG_MERGE_PREPEND => Self::Prepend, |
3561 | ffi::GST_TAG_MERGE_KEEP => Self::Keep, |
3562 | ffi::GST_TAG_MERGE_KEEP_ALL => Self::KeepAll, |
3563 | value: i32 => Self::__Unknown(value), |
3564 | } |
3565 | } |
3566 | } |
3567 | |
3568 | impl StaticType for TagMergeMode { |
3569 | #[inline ] |
3570 | #[doc (alias = "gst_tag_merge_mode_get_type" )] |
3571 | fn static_type() -> glib::Type { |
3572 | unsafe { from_glib(val:ffi::gst_tag_merge_mode_get_type()) } |
3573 | } |
3574 | } |
3575 | |
3576 | impl glib::HasParamSpec for TagMergeMode { |
3577 | type ParamSpec = glib::ParamSpecEnum; |
3578 | type SetValue = Self; |
3579 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
3580 | |
3581 | fn param_spec_builder() -> Self::BuilderFn { |
3582 | Self::ParamSpec::builder_with_default |
3583 | } |
3584 | } |
3585 | |
3586 | impl glib::value::ValueType for TagMergeMode { |
3587 | type Type = Self; |
3588 | } |
3589 | |
3590 | unsafe impl<'a> glib::value::FromValue<'a> for TagMergeMode { |
3591 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
3592 | |
3593 | #[inline ] |
3594 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
3595 | skip_assert_initialized!(); |
3596 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
3597 | } |
3598 | } |
3599 | |
3600 | impl ToValue for TagMergeMode { |
3601 | #[inline ] |
3602 | fn to_value(&self) -> glib::Value { |
3603 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
3604 | unsafe { |
3605 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
3606 | } |
3607 | value |
3608 | } |
3609 | |
3610 | #[inline ] |
3611 | fn value_type(&self) -> glib::Type { |
3612 | Self::static_type() |
3613 | } |
3614 | } |
3615 | |
3616 | impl From<TagMergeMode> for glib::Value { |
3617 | #[inline ] |
3618 | fn from(v: TagMergeMode) -> Self { |
3619 | skip_assert_initialized!(); |
3620 | ToValue::to_value(&v) |
3621 | } |
3622 | } |
3623 | |
3624 | #[cfg_attr (feature = "serde" , derive(serde::Serialize, serde::Deserialize))] |
3625 | #[derive (Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy)] |
3626 | #[non_exhaustive ] |
3627 | #[doc (alias = "GstTagScope" )] |
3628 | pub enum TagScope { |
3629 | #[doc (alias = "GST_TAG_SCOPE_STREAM" )] |
3630 | Stream, |
3631 | #[doc (alias = "GST_TAG_SCOPE_GLOBAL" )] |
3632 | Global, |
3633 | #[doc (hidden)] |
3634 | __Unknown(i32), |
3635 | } |
3636 | |
3637 | #[doc (hidden)] |
3638 | impl IntoGlib for TagScope { |
3639 | type GlibType = ffi::GstTagScope; |
3640 | |
3641 | #[inline ] |
3642 | fn into_glib(self) -> ffi::GstTagScope { |
3643 | match self { |
3644 | Self::Stream => ffi::GST_TAG_SCOPE_STREAM, |
3645 | Self::Global => ffi::GST_TAG_SCOPE_GLOBAL, |
3646 | Self::__Unknown(value: i32) => value, |
3647 | } |
3648 | } |
3649 | } |
3650 | |
3651 | #[doc (hidden)] |
3652 | impl FromGlib<ffi::GstTagScope> for TagScope { |
3653 | #[inline ] |
3654 | unsafe fn from_glib(value: ffi::GstTagScope) -> Self { |
3655 | skip_assert_initialized!(); |
3656 | |
3657 | match value { |
3658 | ffi::GST_TAG_SCOPE_STREAM => Self::Stream, |
3659 | ffi::GST_TAG_SCOPE_GLOBAL => Self::Global, |
3660 | value: i32 => Self::__Unknown(value), |
3661 | } |
3662 | } |
3663 | } |
3664 | |
3665 | impl StaticType for TagScope { |
3666 | #[inline ] |
3667 | #[doc (alias = "gst_tag_scope_get_type" )] |
3668 | fn static_type() -> glib::Type { |
3669 | unsafe { from_glib(val:ffi::gst_tag_scope_get_type()) } |
3670 | } |
3671 | } |
3672 | |
3673 | impl glib::HasParamSpec for TagScope { |
3674 | type ParamSpec = glib::ParamSpecEnum; |
3675 | type SetValue = Self; |
3676 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
3677 | |
3678 | fn param_spec_builder() -> Self::BuilderFn { |
3679 | Self::ParamSpec::builder_with_default |
3680 | } |
3681 | } |
3682 | |
3683 | impl glib::value::ValueType for TagScope { |
3684 | type Type = Self; |
3685 | } |
3686 | |
3687 | unsafe impl<'a> glib::value::FromValue<'a> for TagScope { |
3688 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
3689 | |
3690 | #[inline ] |
3691 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
3692 | skip_assert_initialized!(); |
3693 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
3694 | } |
3695 | } |
3696 | |
3697 | impl ToValue for TagScope { |
3698 | #[inline ] |
3699 | fn to_value(&self) -> glib::Value { |
3700 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
3701 | unsafe { |
3702 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
3703 | } |
3704 | value |
3705 | } |
3706 | |
3707 | #[inline ] |
3708 | fn value_type(&self) -> glib::Type { |
3709 | Self::static_type() |
3710 | } |
3711 | } |
3712 | |
3713 | impl From<TagScope> for glib::Value { |
3714 | #[inline ] |
3715 | fn from(v: TagScope) -> Self { |
3716 | skip_assert_initialized!(); |
3717 | ToValue::to_value(&v) |
3718 | } |
3719 | } |
3720 | |
3721 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
3722 | #[non_exhaustive ] |
3723 | #[doc (alias = "GstTaskState" )] |
3724 | pub enum TaskState { |
3725 | #[doc (alias = "GST_TASK_STARTED" )] |
3726 | Started, |
3727 | #[doc (alias = "GST_TASK_STOPPED" )] |
3728 | Stopped, |
3729 | #[doc (alias = "GST_TASK_PAUSED" )] |
3730 | Paused, |
3731 | #[doc (hidden)] |
3732 | __Unknown(i32), |
3733 | } |
3734 | |
3735 | #[doc (hidden)] |
3736 | impl IntoGlib for TaskState { |
3737 | type GlibType = ffi::GstTaskState; |
3738 | |
3739 | #[inline ] |
3740 | fn into_glib(self) -> ffi::GstTaskState { |
3741 | match self { |
3742 | Self::Started => ffi::GST_TASK_STARTED, |
3743 | Self::Stopped => ffi::GST_TASK_STOPPED, |
3744 | Self::Paused => ffi::GST_TASK_PAUSED, |
3745 | Self::__Unknown(value: i32) => value, |
3746 | } |
3747 | } |
3748 | } |
3749 | |
3750 | #[doc (hidden)] |
3751 | impl FromGlib<ffi::GstTaskState> for TaskState { |
3752 | #[inline ] |
3753 | unsafe fn from_glib(value: ffi::GstTaskState) -> Self { |
3754 | skip_assert_initialized!(); |
3755 | |
3756 | match value { |
3757 | ffi::GST_TASK_STARTED => Self::Started, |
3758 | ffi::GST_TASK_STOPPED => Self::Stopped, |
3759 | ffi::GST_TASK_PAUSED => Self::Paused, |
3760 | value: i32 => Self::__Unknown(value), |
3761 | } |
3762 | } |
3763 | } |
3764 | |
3765 | impl StaticType for TaskState { |
3766 | #[inline ] |
3767 | #[doc (alias = "gst_task_state_get_type" )] |
3768 | fn static_type() -> glib::Type { |
3769 | unsafe { from_glib(val:ffi::gst_task_state_get_type()) } |
3770 | } |
3771 | } |
3772 | |
3773 | impl glib::HasParamSpec for TaskState { |
3774 | type ParamSpec = glib::ParamSpecEnum; |
3775 | type SetValue = Self; |
3776 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
3777 | |
3778 | fn param_spec_builder() -> Self::BuilderFn { |
3779 | Self::ParamSpec::builder_with_default |
3780 | } |
3781 | } |
3782 | |
3783 | impl glib::value::ValueType for TaskState { |
3784 | type Type = Self; |
3785 | } |
3786 | |
3787 | unsafe impl<'a> glib::value::FromValue<'a> for TaskState { |
3788 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
3789 | |
3790 | #[inline ] |
3791 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
3792 | skip_assert_initialized!(); |
3793 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
3794 | } |
3795 | } |
3796 | |
3797 | impl ToValue for TaskState { |
3798 | #[inline ] |
3799 | fn to_value(&self) -> glib::Value { |
3800 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
3801 | unsafe { |
3802 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
3803 | } |
3804 | value |
3805 | } |
3806 | |
3807 | #[inline ] |
3808 | fn value_type(&self) -> glib::Type { |
3809 | Self::static_type() |
3810 | } |
3811 | } |
3812 | |
3813 | impl From<TaskState> for glib::Value { |
3814 | #[inline ] |
3815 | fn from(v: TaskState) -> Self { |
3816 | skip_assert_initialized!(); |
3817 | ToValue::to_value(&v) |
3818 | } |
3819 | } |
3820 | |
3821 | #[cfg_attr (feature = "serde" , derive(serde::Serialize, serde::Deserialize))] |
3822 | #[derive (Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy)] |
3823 | #[non_exhaustive ] |
3824 | #[doc (alias = "GstTocEntryType" )] |
3825 | pub enum TocEntryType { |
3826 | #[doc (alias = "GST_TOC_ENTRY_TYPE_ANGLE" )] |
3827 | Angle, |
3828 | #[doc (alias = "GST_TOC_ENTRY_TYPE_VERSION" )] |
3829 | Version, |
3830 | #[doc (alias = "GST_TOC_ENTRY_TYPE_EDITION" )] |
3831 | Edition, |
3832 | #[doc (alias = "GST_TOC_ENTRY_TYPE_INVALID" )] |
3833 | Invalid, |
3834 | #[doc (alias = "GST_TOC_ENTRY_TYPE_TITLE" )] |
3835 | Title, |
3836 | #[doc (alias = "GST_TOC_ENTRY_TYPE_TRACK" )] |
3837 | Track, |
3838 | #[doc (alias = "GST_TOC_ENTRY_TYPE_CHAPTER" )] |
3839 | Chapter, |
3840 | #[doc (hidden)] |
3841 | __Unknown(i32), |
3842 | } |
3843 | |
3844 | impl TocEntryType { |
3845 | pub fn nick<'a>(self) -> &'a GStr { |
3846 | unsafe { |
3847 | GStr::from_ptr( |
3848 | ffi::gst_toc_entry_type_get_nick(self.into_glib()) |
3849 | .as_ref() |
3850 | .expect(msg:"gst_toc_entry_type_get_nick returned NULL" ), |
3851 | ) |
3852 | } |
3853 | } |
3854 | } |
3855 | |
3856 | #[doc (hidden)] |
3857 | impl IntoGlib for TocEntryType { |
3858 | type GlibType = ffi::GstTocEntryType; |
3859 | |
3860 | #[inline ] |
3861 | fn into_glib(self) -> ffi::GstTocEntryType { |
3862 | match self { |
3863 | Self::Angle => ffi::GST_TOC_ENTRY_TYPE_ANGLE, |
3864 | Self::Version => ffi::GST_TOC_ENTRY_TYPE_VERSION, |
3865 | Self::Edition => ffi::GST_TOC_ENTRY_TYPE_EDITION, |
3866 | Self::Invalid => ffi::GST_TOC_ENTRY_TYPE_INVALID, |
3867 | Self::Title => ffi::GST_TOC_ENTRY_TYPE_TITLE, |
3868 | Self::Track => ffi::GST_TOC_ENTRY_TYPE_TRACK, |
3869 | Self::Chapter => ffi::GST_TOC_ENTRY_TYPE_CHAPTER, |
3870 | Self::__Unknown(value: i32) => value, |
3871 | } |
3872 | } |
3873 | } |
3874 | |
3875 | #[doc (hidden)] |
3876 | impl FromGlib<ffi::GstTocEntryType> for TocEntryType { |
3877 | #[inline ] |
3878 | unsafe fn from_glib(value: ffi::GstTocEntryType) -> Self { |
3879 | skip_assert_initialized!(); |
3880 | |
3881 | match value { |
3882 | ffi::GST_TOC_ENTRY_TYPE_ANGLE => Self::Angle, |
3883 | ffi::GST_TOC_ENTRY_TYPE_VERSION => Self::Version, |
3884 | ffi::GST_TOC_ENTRY_TYPE_EDITION => Self::Edition, |
3885 | ffi::GST_TOC_ENTRY_TYPE_INVALID => Self::Invalid, |
3886 | ffi::GST_TOC_ENTRY_TYPE_TITLE => Self::Title, |
3887 | ffi::GST_TOC_ENTRY_TYPE_TRACK => Self::Track, |
3888 | ffi::GST_TOC_ENTRY_TYPE_CHAPTER => Self::Chapter, |
3889 | value: i32 => Self::__Unknown(value), |
3890 | } |
3891 | } |
3892 | } |
3893 | |
3894 | impl StaticType for TocEntryType { |
3895 | #[inline ] |
3896 | #[doc (alias = "gst_toc_entry_type_get_type" )] |
3897 | fn static_type() -> glib::Type { |
3898 | unsafe { from_glib(val:ffi::gst_toc_entry_type_get_type()) } |
3899 | } |
3900 | } |
3901 | |
3902 | impl glib::HasParamSpec for TocEntryType { |
3903 | type ParamSpec = glib::ParamSpecEnum; |
3904 | type SetValue = Self; |
3905 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
3906 | |
3907 | fn param_spec_builder() -> Self::BuilderFn { |
3908 | Self::ParamSpec::builder_with_default |
3909 | } |
3910 | } |
3911 | |
3912 | impl glib::value::ValueType for TocEntryType { |
3913 | type Type = Self; |
3914 | } |
3915 | |
3916 | unsafe impl<'a> glib::value::FromValue<'a> for TocEntryType { |
3917 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
3918 | |
3919 | #[inline ] |
3920 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
3921 | skip_assert_initialized!(); |
3922 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
3923 | } |
3924 | } |
3925 | |
3926 | impl ToValue for TocEntryType { |
3927 | #[inline ] |
3928 | fn to_value(&self) -> glib::Value { |
3929 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
3930 | unsafe { |
3931 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
3932 | } |
3933 | value |
3934 | } |
3935 | |
3936 | #[inline ] |
3937 | fn value_type(&self) -> glib::Type { |
3938 | Self::static_type() |
3939 | } |
3940 | } |
3941 | |
3942 | impl From<TocEntryType> for glib::Value { |
3943 | #[inline ] |
3944 | fn from(v: TocEntryType) -> Self { |
3945 | skip_assert_initialized!(); |
3946 | ToValue::to_value(&v) |
3947 | } |
3948 | } |
3949 | |
3950 | #[cfg_attr (feature = "serde" , derive(serde::Serialize, serde::Deserialize))] |
3951 | #[derive (Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy)] |
3952 | #[non_exhaustive ] |
3953 | #[doc (alias = "GstTocLoopType" )] |
3954 | pub enum TocLoopType { |
3955 | #[doc (alias = "GST_TOC_LOOP_NONE" )] |
3956 | None, |
3957 | #[doc (alias = "GST_TOC_LOOP_FORWARD" )] |
3958 | Forward, |
3959 | #[doc (alias = "GST_TOC_LOOP_REVERSE" )] |
3960 | Reverse, |
3961 | #[doc (alias = "GST_TOC_LOOP_PING_PONG" )] |
3962 | PingPong, |
3963 | #[doc (hidden)] |
3964 | __Unknown(i32), |
3965 | } |
3966 | |
3967 | #[doc (hidden)] |
3968 | impl IntoGlib for TocLoopType { |
3969 | type GlibType = ffi::GstTocLoopType; |
3970 | |
3971 | #[inline ] |
3972 | fn into_glib(self) -> ffi::GstTocLoopType { |
3973 | match self { |
3974 | Self::None => ffi::GST_TOC_LOOP_NONE, |
3975 | Self::Forward => ffi::GST_TOC_LOOP_FORWARD, |
3976 | Self::Reverse => ffi::GST_TOC_LOOP_REVERSE, |
3977 | Self::PingPong => ffi::GST_TOC_LOOP_PING_PONG, |
3978 | Self::__Unknown(value: i32) => value, |
3979 | } |
3980 | } |
3981 | } |
3982 | |
3983 | #[doc (hidden)] |
3984 | impl FromGlib<ffi::GstTocLoopType> for TocLoopType { |
3985 | #[inline ] |
3986 | unsafe fn from_glib(value: ffi::GstTocLoopType) -> Self { |
3987 | skip_assert_initialized!(); |
3988 | |
3989 | match value { |
3990 | ffi::GST_TOC_LOOP_NONE => Self::None, |
3991 | ffi::GST_TOC_LOOP_FORWARD => Self::Forward, |
3992 | ffi::GST_TOC_LOOP_REVERSE => Self::Reverse, |
3993 | ffi::GST_TOC_LOOP_PING_PONG => Self::PingPong, |
3994 | value: i32 => Self::__Unknown(value), |
3995 | } |
3996 | } |
3997 | } |
3998 | |
3999 | impl StaticType for TocLoopType { |
4000 | #[inline ] |
4001 | #[doc (alias = "gst_toc_loop_type_get_type" )] |
4002 | fn static_type() -> glib::Type { |
4003 | unsafe { from_glib(val:ffi::gst_toc_loop_type_get_type()) } |
4004 | } |
4005 | } |
4006 | |
4007 | impl glib::HasParamSpec for TocLoopType { |
4008 | type ParamSpec = glib::ParamSpecEnum; |
4009 | type SetValue = Self; |
4010 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
4011 | |
4012 | fn param_spec_builder() -> Self::BuilderFn { |
4013 | Self::ParamSpec::builder_with_default |
4014 | } |
4015 | } |
4016 | |
4017 | impl glib::value::ValueType for TocLoopType { |
4018 | type Type = Self; |
4019 | } |
4020 | |
4021 | unsafe impl<'a> glib::value::FromValue<'a> for TocLoopType { |
4022 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
4023 | |
4024 | #[inline ] |
4025 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
4026 | skip_assert_initialized!(); |
4027 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
4028 | } |
4029 | } |
4030 | |
4031 | impl ToValue for TocLoopType { |
4032 | #[inline ] |
4033 | fn to_value(&self) -> glib::Value { |
4034 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
4035 | unsafe { |
4036 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
4037 | } |
4038 | value |
4039 | } |
4040 | |
4041 | #[inline ] |
4042 | fn value_type(&self) -> glib::Type { |
4043 | Self::static_type() |
4044 | } |
4045 | } |
4046 | |
4047 | impl From<TocLoopType> for glib::Value { |
4048 | #[inline ] |
4049 | fn from(v: TocLoopType) -> Self { |
4050 | skip_assert_initialized!(); |
4051 | ToValue::to_value(&v) |
4052 | } |
4053 | } |
4054 | |
4055 | #[cfg_attr (feature = "serde" , derive(serde::Serialize, serde::Deserialize))] |
4056 | #[derive (Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy)] |
4057 | #[non_exhaustive ] |
4058 | #[doc (alias = "GstTocScope" )] |
4059 | pub enum TocScope { |
4060 | #[doc (alias = "GST_TOC_SCOPE_GLOBAL" )] |
4061 | Global, |
4062 | #[doc (alias = "GST_TOC_SCOPE_CURRENT" )] |
4063 | Current, |
4064 | #[doc (hidden)] |
4065 | __Unknown(i32), |
4066 | } |
4067 | |
4068 | #[doc (hidden)] |
4069 | impl IntoGlib for TocScope { |
4070 | type GlibType = ffi::GstTocScope; |
4071 | |
4072 | #[inline ] |
4073 | fn into_glib(self) -> ffi::GstTocScope { |
4074 | match self { |
4075 | Self::Global => ffi::GST_TOC_SCOPE_GLOBAL, |
4076 | Self::Current => ffi::GST_TOC_SCOPE_CURRENT, |
4077 | Self::__Unknown(value: i32) => value, |
4078 | } |
4079 | } |
4080 | } |
4081 | |
4082 | #[doc (hidden)] |
4083 | impl FromGlib<ffi::GstTocScope> for TocScope { |
4084 | #[inline ] |
4085 | unsafe fn from_glib(value: ffi::GstTocScope) -> Self { |
4086 | skip_assert_initialized!(); |
4087 | |
4088 | match value { |
4089 | ffi::GST_TOC_SCOPE_GLOBAL => Self::Global, |
4090 | ffi::GST_TOC_SCOPE_CURRENT => Self::Current, |
4091 | value: i32 => Self::__Unknown(value), |
4092 | } |
4093 | } |
4094 | } |
4095 | |
4096 | impl StaticType for TocScope { |
4097 | #[inline ] |
4098 | #[doc (alias = "gst_toc_scope_get_type" )] |
4099 | fn static_type() -> glib::Type { |
4100 | unsafe { from_glib(val:ffi::gst_toc_scope_get_type()) } |
4101 | } |
4102 | } |
4103 | |
4104 | impl glib::HasParamSpec for TocScope { |
4105 | type ParamSpec = glib::ParamSpecEnum; |
4106 | type SetValue = Self; |
4107 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
4108 | |
4109 | fn param_spec_builder() -> Self::BuilderFn { |
4110 | Self::ParamSpec::builder_with_default |
4111 | } |
4112 | } |
4113 | |
4114 | impl glib::value::ValueType for TocScope { |
4115 | type Type = Self; |
4116 | } |
4117 | |
4118 | unsafe impl<'a> glib::value::FromValue<'a> for TocScope { |
4119 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
4120 | |
4121 | #[inline ] |
4122 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
4123 | skip_assert_initialized!(); |
4124 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
4125 | } |
4126 | } |
4127 | |
4128 | impl ToValue for TocScope { |
4129 | #[inline ] |
4130 | fn to_value(&self) -> glib::Value { |
4131 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
4132 | unsafe { |
4133 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
4134 | } |
4135 | value |
4136 | } |
4137 | |
4138 | #[inline ] |
4139 | fn value_type(&self) -> glib::Type { |
4140 | Self::static_type() |
4141 | } |
4142 | } |
4143 | |
4144 | impl From<TocScope> for glib::Value { |
4145 | #[inline ] |
4146 | fn from(v: TocScope) -> Self { |
4147 | skip_assert_initialized!(); |
4148 | ToValue::to_value(&v) |
4149 | } |
4150 | } |
4151 | |
4152 | #[derive (Debug, Clone, Copy)] |
4153 | #[non_exhaustive ] |
4154 | #[doc (alias = "GstTypeFindProbability" )] |
4155 | pub enum TypeFindProbability { |
4156 | #[doc (alias = "GST_TYPE_FIND_NONE" )] |
4157 | None, |
4158 | #[doc (alias = "GST_TYPE_FIND_MINIMUM" )] |
4159 | Minimum, |
4160 | #[doc (alias = "GST_TYPE_FIND_POSSIBLE" )] |
4161 | Possible, |
4162 | #[doc (alias = "GST_TYPE_FIND_LIKELY" )] |
4163 | Likely, |
4164 | #[doc (alias = "GST_TYPE_FIND_NEARLY_CERTAIN" )] |
4165 | NearlyCertain, |
4166 | #[doc (alias = "GST_TYPE_FIND_MAXIMUM" )] |
4167 | Maximum, |
4168 | #[doc (hidden)] |
4169 | __Unknown(i32), |
4170 | } |
4171 | |
4172 | #[doc (hidden)] |
4173 | impl IntoGlib for TypeFindProbability { |
4174 | type GlibType = ffi::GstTypeFindProbability; |
4175 | |
4176 | #[inline ] |
4177 | fn into_glib(self) -> ffi::GstTypeFindProbability { |
4178 | match self { |
4179 | Self::None => ffi::GST_TYPE_FIND_NONE, |
4180 | Self::Minimum => ffi::GST_TYPE_FIND_MINIMUM, |
4181 | Self::Possible => ffi::GST_TYPE_FIND_POSSIBLE, |
4182 | Self::Likely => ffi::GST_TYPE_FIND_LIKELY, |
4183 | Self::NearlyCertain => ffi::GST_TYPE_FIND_NEARLY_CERTAIN, |
4184 | Self::Maximum => ffi::GST_TYPE_FIND_MAXIMUM, |
4185 | Self::__Unknown(value: i32) => value, |
4186 | } |
4187 | } |
4188 | } |
4189 | |
4190 | #[doc (hidden)] |
4191 | impl FromGlib<ffi::GstTypeFindProbability> for TypeFindProbability { |
4192 | #[inline ] |
4193 | unsafe fn from_glib(value: ffi::GstTypeFindProbability) -> Self { |
4194 | skip_assert_initialized!(); |
4195 | |
4196 | match value { |
4197 | ffi::GST_TYPE_FIND_NONE => Self::None, |
4198 | ffi::GST_TYPE_FIND_MINIMUM => Self::Minimum, |
4199 | ffi::GST_TYPE_FIND_POSSIBLE => Self::Possible, |
4200 | ffi::GST_TYPE_FIND_LIKELY => Self::Likely, |
4201 | ffi::GST_TYPE_FIND_NEARLY_CERTAIN => Self::NearlyCertain, |
4202 | ffi::GST_TYPE_FIND_MAXIMUM => Self::Maximum, |
4203 | value: i32 => Self::__Unknown(value), |
4204 | } |
4205 | } |
4206 | } |
4207 | |
4208 | impl StaticType for TypeFindProbability { |
4209 | #[inline ] |
4210 | #[doc (alias = "gst_type_find_probability_get_type" )] |
4211 | fn static_type() -> glib::Type { |
4212 | unsafe { from_glib(val:ffi::gst_type_find_probability_get_type()) } |
4213 | } |
4214 | } |
4215 | |
4216 | impl glib::HasParamSpec for TypeFindProbability { |
4217 | type ParamSpec = glib::ParamSpecEnum; |
4218 | type SetValue = Self; |
4219 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
4220 | |
4221 | fn param_spec_builder() -> Self::BuilderFn { |
4222 | Self::ParamSpec::builder_with_default |
4223 | } |
4224 | } |
4225 | |
4226 | impl glib::value::ValueType for TypeFindProbability { |
4227 | type Type = Self; |
4228 | } |
4229 | |
4230 | unsafe impl<'a> glib::value::FromValue<'a> for TypeFindProbability { |
4231 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
4232 | |
4233 | #[inline ] |
4234 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
4235 | skip_assert_initialized!(); |
4236 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
4237 | } |
4238 | } |
4239 | |
4240 | impl ToValue for TypeFindProbability { |
4241 | #[inline ] |
4242 | fn to_value(&self) -> glib::Value { |
4243 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
4244 | unsafe { |
4245 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
4246 | } |
4247 | value |
4248 | } |
4249 | |
4250 | #[inline ] |
4251 | fn value_type(&self) -> glib::Type { |
4252 | Self::static_type() |
4253 | } |
4254 | } |
4255 | |
4256 | impl From<TypeFindProbability> for glib::Value { |
4257 | #[inline ] |
4258 | fn from(v: TypeFindProbability) -> Self { |
4259 | skip_assert_initialized!(); |
4260 | ToValue::to_value(&v) |
4261 | } |
4262 | } |
4263 | |
4264 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
4265 | #[non_exhaustive ] |
4266 | #[doc (alias = "GstURIError" )] |
4267 | pub enum URIError { |
4268 | #[doc (alias = "GST_URI_ERROR_UNSUPPORTED_PROTOCOL" )] |
4269 | UnsupportedProtocol, |
4270 | #[doc (alias = "GST_URI_ERROR_BAD_URI" )] |
4271 | BadUri, |
4272 | #[doc (alias = "GST_URI_ERROR_BAD_STATE" )] |
4273 | BadState, |
4274 | #[doc (alias = "GST_URI_ERROR_BAD_REFERENCE" )] |
4275 | BadReference, |
4276 | #[doc (hidden)] |
4277 | __Unknown(i32), |
4278 | } |
4279 | |
4280 | #[doc (hidden)] |
4281 | impl IntoGlib for URIError { |
4282 | type GlibType = ffi::GstURIError; |
4283 | |
4284 | #[inline ] |
4285 | fn into_glib(self) -> ffi::GstURIError { |
4286 | match self { |
4287 | Self::UnsupportedProtocol => ffi::GST_URI_ERROR_UNSUPPORTED_PROTOCOL, |
4288 | Self::BadUri => ffi::GST_URI_ERROR_BAD_URI, |
4289 | Self::BadState => ffi::GST_URI_ERROR_BAD_STATE, |
4290 | Self::BadReference => ffi::GST_URI_ERROR_BAD_REFERENCE, |
4291 | Self::__Unknown(value: i32) => value, |
4292 | } |
4293 | } |
4294 | } |
4295 | |
4296 | #[doc (hidden)] |
4297 | impl FromGlib<ffi::GstURIError> for URIError { |
4298 | #[inline ] |
4299 | unsafe fn from_glib(value: ffi::GstURIError) -> Self { |
4300 | skip_assert_initialized!(); |
4301 | |
4302 | match value { |
4303 | ffi::GST_URI_ERROR_UNSUPPORTED_PROTOCOL => Self::UnsupportedProtocol, |
4304 | ffi::GST_URI_ERROR_BAD_URI => Self::BadUri, |
4305 | ffi::GST_URI_ERROR_BAD_STATE => Self::BadState, |
4306 | ffi::GST_URI_ERROR_BAD_REFERENCE => Self::BadReference, |
4307 | value: i32 => Self::__Unknown(value), |
4308 | } |
4309 | } |
4310 | } |
4311 | |
4312 | impl glib::error::ErrorDomain for URIError { |
4313 | #[inline ] |
4314 | fn domain() -> glib::Quark { |
4315 | skip_assert_initialized!(); |
4316 | |
4317 | unsafe { from_glib(val:ffi::gst_uri_error_quark()) } |
4318 | } |
4319 | |
4320 | #[inline ] |
4321 | fn code(self) -> i32 { |
4322 | self.into_glib() |
4323 | } |
4324 | |
4325 | #[inline ] |
4326 | #[allow (clippy::match_single_binding)] |
4327 | fn from(code: i32) -> Option<Self> { |
4328 | skip_assert_initialized!(); |
4329 | match unsafe { from_glib(val:code) } { |
4330 | value: URIError => Some(value), |
4331 | } |
4332 | } |
4333 | } |
4334 | |
4335 | impl StaticType for URIError { |
4336 | #[inline ] |
4337 | #[doc (alias = "gst_uri_error_get_type" )] |
4338 | fn static_type() -> glib::Type { |
4339 | unsafe { from_glib(val:ffi::gst_uri_error_get_type()) } |
4340 | } |
4341 | } |
4342 | |
4343 | impl glib::HasParamSpec for URIError { |
4344 | type ParamSpec = glib::ParamSpecEnum; |
4345 | type SetValue = Self; |
4346 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
4347 | |
4348 | fn param_spec_builder() -> Self::BuilderFn { |
4349 | Self::ParamSpec::builder_with_default |
4350 | } |
4351 | } |
4352 | |
4353 | impl glib::value::ValueType for URIError { |
4354 | type Type = Self; |
4355 | } |
4356 | |
4357 | unsafe impl<'a> glib::value::FromValue<'a> for URIError { |
4358 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
4359 | |
4360 | #[inline ] |
4361 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
4362 | skip_assert_initialized!(); |
4363 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
4364 | } |
4365 | } |
4366 | |
4367 | impl ToValue for URIError { |
4368 | #[inline ] |
4369 | fn to_value(&self) -> glib::Value { |
4370 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
4371 | unsafe { |
4372 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
4373 | } |
4374 | value |
4375 | } |
4376 | |
4377 | #[inline ] |
4378 | fn value_type(&self) -> glib::Type { |
4379 | Self::static_type() |
4380 | } |
4381 | } |
4382 | |
4383 | impl From<URIError> for glib::Value { |
4384 | #[inline ] |
4385 | fn from(v: URIError) -> Self { |
4386 | skip_assert_initialized!(); |
4387 | ToValue::to_value(&v) |
4388 | } |
4389 | } |
4390 | |
4391 | #[cfg_attr (feature = "serde" , derive(serde::Serialize, serde::Deserialize))] |
4392 | #[derive (Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy)] |
4393 | #[repr (i32)] |
4394 | #[doc (alias = "GstURIType" )] |
4395 | pub enum URIType { |
4396 | #[doc (alias = "GST_URI_UNKNOWN" )] |
4397 | Unknown = ffi::GST_URI_UNKNOWN, |
4398 | #[doc (alias = "GST_URI_SINK" )] |
4399 | Sink = ffi::GST_URI_SINK, |
4400 | #[doc (alias = "GST_URI_SRC" )] |
4401 | Src = ffi::GST_URI_SRC, |
4402 | } |
4403 | |
4404 | #[doc (hidden)] |
4405 | impl IntoGlib for URIType { |
4406 | type GlibType = ffi::GstURIType; |
4407 | |
4408 | #[inline ] |
4409 | fn into_glib(self) -> ffi::GstURIType { |
4410 | self as ffi::GstURIType |
4411 | } |
4412 | } |
4413 | |
4414 | #[doc (hidden)] |
4415 | impl FromGlib<ffi::GstURIType> for URIType { |
4416 | #[inline ] |
4417 | unsafe fn from_glib(value: ffi::GstURIType) -> Self { |
4418 | skip_assert_initialized!(); |
4419 | |
4420 | debug_assert!([ffi::GST_URI_UNKNOWN, ffi::GST_URI_SINK, ffi::GST_URI_SRC].contains(&value)); |
4421 | std::mem::transmute(src:value) |
4422 | } |
4423 | } |
4424 | |
4425 | impl StaticType for URIType { |
4426 | #[inline ] |
4427 | #[doc (alias = "gst_uri_type_get_type" )] |
4428 | fn static_type() -> glib::Type { |
4429 | unsafe { from_glib(val:ffi::gst_uri_type_get_type()) } |
4430 | } |
4431 | } |
4432 | |
4433 | impl glib::HasParamSpec for URIType { |
4434 | type ParamSpec = glib::ParamSpecEnum; |
4435 | type SetValue = Self; |
4436 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
4437 | |
4438 | fn param_spec_builder() -> Self::BuilderFn { |
4439 | Self::ParamSpec::builder_with_default |
4440 | } |
4441 | } |
4442 | |
4443 | impl glib::value::ValueType for URIType { |
4444 | type Type = Self; |
4445 | } |
4446 | |
4447 | unsafe impl<'a> glib::value::FromValue<'a> for URIType { |
4448 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
4449 | |
4450 | #[inline ] |
4451 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
4452 | skip_assert_initialized!(); |
4453 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
4454 | } |
4455 | } |
4456 | |
4457 | impl ToValue for URIType { |
4458 | #[inline ] |
4459 | fn to_value(&self) -> glib::Value { |
4460 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
4461 | unsafe { |
4462 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
4463 | } |
4464 | value |
4465 | } |
4466 | |
4467 | #[inline ] |
4468 | fn value_type(&self) -> glib::Type { |
4469 | Self::static_type() |
4470 | } |
4471 | } |
4472 | |
4473 | impl From<URIType> for glib::Value { |
4474 | #[inline ] |
4475 | fn from(v: URIType) -> Self { |
4476 | skip_assert_initialized!(); |
4477 | ToValue::to_value(&v) |
4478 | } |
4479 | } |
4480 | |