1use crate::ffi;
7use glib::{prelude::*, translate::*};
8
9#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
13#[non_exhaustive]
14#[doc(alias = "GstMediaSourceEOSError")]
15pub enum MediaSourceEOSError {
16 #[doc(alias = "GST_MEDIA_SOURCE_EOS_ERROR_NONE")]
18 None,
19 #[doc(alias = "GST_MEDIA_SOURCE_EOS_ERROR_NETWORK")]
21 Network,
22 #[doc(alias = "GST_MEDIA_SOURCE_EOS_ERROR_DECODE")]
24 Decode,
25 #[doc(hidden)]
26 __Unknown(i32),
27}
28
29#[doc(hidden)]
30impl IntoGlib for MediaSourceEOSError {
31 type GlibType = ffi::GstMediaSourceEOSError;
32
33 #[inline]
34 fn into_glib(self) -> ffi::GstMediaSourceEOSError {
35 match self {
36 Self::None => ffi::GST_MEDIA_SOURCE_EOS_ERROR_NONE,
37 Self::Network => ffi::GST_MEDIA_SOURCE_EOS_ERROR_NETWORK,
38 Self::Decode => ffi::GST_MEDIA_SOURCE_EOS_ERROR_DECODE,
39 Self::__Unknown(value) => value,
40 }
41 }
42}
43
44#[doc(hidden)]
45impl FromGlib<ffi::GstMediaSourceEOSError> for MediaSourceEOSError {
46 #[inline]
47 unsafe fn from_glib(value: ffi::GstMediaSourceEOSError) -> Self {
48 skip_assert_initialized!();
49
50 match value {
51 ffi::GST_MEDIA_SOURCE_EOS_ERROR_NONE => Self::None,
52 ffi::GST_MEDIA_SOURCE_EOS_ERROR_NETWORK => Self::Network,
53 ffi::GST_MEDIA_SOURCE_EOS_ERROR_DECODE => Self::Decode,
54 value => Self::__Unknown(value),
55 }
56 }
57}
58
59impl StaticType for MediaSourceEOSError {
60 #[inline]
61 #[doc(alias = "gst_media_source_eos_error_get_type")]
62 fn static_type() -> glib::Type {
63 unsafe { from_glib(ffi::gst_media_source_eos_error_get_type()) }
64 }
65}
66
67impl glib::HasParamSpec for MediaSourceEOSError {
68 type ParamSpec = glib::ParamSpecEnum;
69 type SetValue = Self;
70 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
71
72 fn param_spec_builder() -> Self::BuilderFn {
73 Self::ParamSpec::builder_with_default
74 }
75}
76
77impl glib::value::ValueType for MediaSourceEOSError {
78 type Type = Self;
79}
80
81unsafe impl<'a> glib::value::FromValue<'a> for MediaSourceEOSError {
82 type Checker = glib::value::GenericValueTypeChecker<Self>;
83
84 #[inline]
85 unsafe fn from_value(value: &'a glib::Value) -> Self {
86 skip_assert_initialized!();
87 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
88 }
89}
90
91impl ToValue for MediaSourceEOSError {
92 #[inline]
93 fn to_value(&self) -> glib::Value {
94 let mut value = glib::Value::for_value_type::<Self>();
95 unsafe {
96 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
97 }
98 value
99 }
100
101 #[inline]
102 fn value_type(&self) -> glib::Type {
103 Self::static_type()
104 }
105}
106
107impl From<MediaSourceEOSError> for glib::Value {
108 #[inline]
109 fn from(v: MediaSourceEOSError) -> Self {
110 skip_assert_initialized!();
111 ToValue::to_value(&v)
112 }
113}
114
115#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
120#[non_exhaustive]
121#[doc(alias = "GstMediaSourceError")]
122pub enum MediaSourceError {
123 #[doc(alias = "GST_MEDIA_SOURCE_ERROR_INVALID_STATE")]
124 InvalidState,
125 #[doc(alias = "GST_MEDIA_SOURCE_ERROR_TYPE")]
126 Type,
127 #[doc(alias = "GST_MEDIA_SOURCE_ERROR_NOT_SUPPORTED")]
128 NotSupported,
129 #[doc(alias = "GST_MEDIA_SOURCE_ERROR_NOT_FOUND")]
130 NotFound,
131 #[doc(alias = "GST_MEDIA_SOURCE_ERROR_QUOTA_EXCEEDED")]
132 QuotaExceeded,
133 #[doc(hidden)]
134 __Unknown(i32),
135}
136
137#[doc(hidden)]
138impl IntoGlib for MediaSourceError {
139 type GlibType = ffi::GstMediaSourceError;
140
141 #[inline]
142 fn into_glib(self) -> ffi::GstMediaSourceError {
143 match self {
144 Self::InvalidState => ffi::GST_MEDIA_SOURCE_ERROR_INVALID_STATE,
145 Self::Type => ffi::GST_MEDIA_SOURCE_ERROR_TYPE,
146 Self::NotSupported => ffi::GST_MEDIA_SOURCE_ERROR_NOT_SUPPORTED,
147 Self::NotFound => ffi::GST_MEDIA_SOURCE_ERROR_NOT_FOUND,
148 Self::QuotaExceeded => ffi::GST_MEDIA_SOURCE_ERROR_QUOTA_EXCEEDED,
149 Self::__Unknown(value) => value,
150 }
151 }
152}
153
154#[doc(hidden)]
155impl FromGlib<ffi::GstMediaSourceError> for MediaSourceError {
156 #[inline]
157 unsafe fn from_glib(value: ffi::GstMediaSourceError) -> Self {
158 skip_assert_initialized!();
159
160 match value {
161 ffi::GST_MEDIA_SOURCE_ERROR_INVALID_STATE => Self::InvalidState,
162 ffi::GST_MEDIA_SOURCE_ERROR_TYPE => Self::Type,
163 ffi::GST_MEDIA_SOURCE_ERROR_NOT_SUPPORTED => Self::NotSupported,
164 ffi::GST_MEDIA_SOURCE_ERROR_NOT_FOUND => Self::NotFound,
165 ffi::GST_MEDIA_SOURCE_ERROR_QUOTA_EXCEEDED => Self::QuotaExceeded,
166 value => Self::__Unknown(value),
167 }
168 }
169}
170
171impl glib::error::ErrorDomain for MediaSourceError {
172 #[inline]
173 fn domain() -> glib::Quark {
174 skip_assert_initialized!();
175
176 unsafe { from_glib(ffi::gst_media_source_error_quark()) }
177 }
178
179 #[inline]
180 fn code(self) -> i32 {
181 self.into_glib()
182 }
183
184 #[inline]
185 #[allow(clippy::match_single_binding)]
186 fn from(code: i32) -> Option<Self> {
187 skip_assert_initialized!();
188 match unsafe { from_glib(code) } {
189 value => Some(value),
190 }
191 }
192}
193
194impl StaticType for MediaSourceError {
195 #[inline]
196 #[doc(alias = "gst_media_source_error_get_type")]
197 fn static_type() -> glib::Type {
198 unsafe { from_glib(ffi::gst_media_source_error_get_type()) }
199 }
200}
201
202impl glib::HasParamSpec for MediaSourceError {
203 type ParamSpec = glib::ParamSpecEnum;
204 type SetValue = Self;
205 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
206
207 fn param_spec_builder() -> Self::BuilderFn {
208 Self::ParamSpec::builder_with_default
209 }
210}
211
212impl glib::value::ValueType for MediaSourceError {
213 type Type = Self;
214}
215
216unsafe impl<'a> glib::value::FromValue<'a> for MediaSourceError {
217 type Checker = glib::value::GenericValueTypeChecker<Self>;
218
219 #[inline]
220 unsafe fn from_value(value: &'a glib::Value) -> Self {
221 skip_assert_initialized!();
222 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
223 }
224}
225
226impl ToValue for MediaSourceError {
227 #[inline]
228 fn to_value(&self) -> glib::Value {
229 let mut value = glib::Value::for_value_type::<Self>();
230 unsafe {
231 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
232 }
233 value
234 }
235
236 #[inline]
237 fn value_type(&self) -> glib::Type {
238 Self::static_type()
239 }
240}
241
242impl From<MediaSourceError> for glib::Value {
243 #[inline]
244 fn from(v: MediaSourceError) -> Self {
245 skip_assert_initialized!();
246 ToValue::to_value(&v)
247 }
248}
249
250#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
254#[non_exhaustive]
255#[doc(alias = "GstMediaSourceReadyState")]
256pub enum MediaSourceReadyState {
257 #[doc(alias = "GST_MEDIA_SOURCE_READY_STATE_CLOSED")]
260 Closed,
261 #[doc(alias = "GST_MEDIA_SOURCE_READY_STATE_OPEN")]
264 Open,
265 #[doc(alias = "GST_MEDIA_SOURCE_READY_STATE_ENDED")]
268 Ended,
269 #[doc(hidden)]
270 __Unknown(i32),
271}
272
273#[doc(hidden)]
274impl IntoGlib for MediaSourceReadyState {
275 type GlibType = ffi::GstMediaSourceReadyState;
276
277 #[inline]
278 fn into_glib(self) -> ffi::GstMediaSourceReadyState {
279 match self {
280 Self::Closed => ffi::GST_MEDIA_SOURCE_READY_STATE_CLOSED,
281 Self::Open => ffi::GST_MEDIA_SOURCE_READY_STATE_OPEN,
282 Self::Ended => ffi::GST_MEDIA_SOURCE_READY_STATE_ENDED,
283 Self::__Unknown(value) => value,
284 }
285 }
286}
287
288#[doc(hidden)]
289impl FromGlib<ffi::GstMediaSourceReadyState> for MediaSourceReadyState {
290 #[inline]
291 unsafe fn from_glib(value: ffi::GstMediaSourceReadyState) -> Self {
292 skip_assert_initialized!();
293
294 match value {
295 ffi::GST_MEDIA_SOURCE_READY_STATE_CLOSED => Self::Closed,
296 ffi::GST_MEDIA_SOURCE_READY_STATE_OPEN => Self::Open,
297 ffi::GST_MEDIA_SOURCE_READY_STATE_ENDED => Self::Ended,
298 value => Self::__Unknown(value),
299 }
300 }
301}
302
303impl StaticType for MediaSourceReadyState {
304 #[inline]
305 #[doc(alias = "gst_media_source_ready_state_get_type")]
306 fn static_type() -> glib::Type {
307 unsafe { from_glib(ffi::gst_media_source_ready_state_get_type()) }
308 }
309}
310
311impl glib::HasParamSpec for MediaSourceReadyState {
312 type ParamSpec = glib::ParamSpecEnum;
313 type SetValue = Self;
314 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
315
316 fn param_spec_builder() -> Self::BuilderFn {
317 Self::ParamSpec::builder_with_default
318 }
319}
320
321impl glib::value::ValueType for MediaSourceReadyState {
322 type Type = Self;
323}
324
325unsafe impl<'a> glib::value::FromValue<'a> for MediaSourceReadyState {
326 type Checker = glib::value::GenericValueTypeChecker<Self>;
327
328 #[inline]
329 unsafe fn from_value(value: &'a glib::Value) -> Self {
330 skip_assert_initialized!();
331 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
332 }
333}
334
335impl ToValue for MediaSourceReadyState {
336 #[inline]
337 fn to_value(&self) -> glib::Value {
338 let mut value = glib::Value::for_value_type::<Self>();
339 unsafe {
340 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
341 }
342 value
343 }
344
345 #[inline]
346 fn value_type(&self) -> glib::Type {
347 Self::static_type()
348 }
349}
350
351impl From<MediaSourceReadyState> for glib::Value {
352 #[inline]
353 fn from(v: MediaSourceReadyState) -> Self {
354 skip_assert_initialized!();
355 ToValue::to_value(&v)
356 }
357}
358
359#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
366#[non_exhaustive]
367#[doc(alias = "GstMseSrcReadyState")]
368pub enum MseSrcReadyState {
369 #[doc(alias = "GST_MSE_SRC_READY_STATE_HAVE_NOTHING")]
372 Nothing,
373 #[doc(alias = "GST_MSE_SRC_READY_STATE_HAVE_METADATA")]
376 Metadata,
377 #[doc(alias = "GST_MSE_SRC_READY_STATE_HAVE_CURRENT_DATA")]
380 CurrentData,
381 #[doc(alias = "GST_MSE_SRC_READY_STATE_HAVE_FUTURE_DATA")]
384 FutureData,
385 #[doc(alias = "GST_MSE_SRC_READY_STATE_HAVE_ENOUGH_DATA")]
389 EnoughData,
390 #[doc(hidden)]
391 __Unknown(i32),
392}
393
394#[doc(hidden)]
395impl IntoGlib for MseSrcReadyState {
396 type GlibType = ffi::GstMseSrcReadyState;
397
398 #[inline]
399 fn into_glib(self) -> ffi::GstMseSrcReadyState {
400 match self {
401 Self::Nothing => ffi::GST_MSE_SRC_READY_STATE_HAVE_NOTHING,
402 Self::Metadata => ffi::GST_MSE_SRC_READY_STATE_HAVE_METADATA,
403 Self::CurrentData => ffi::GST_MSE_SRC_READY_STATE_HAVE_CURRENT_DATA,
404 Self::FutureData => ffi::GST_MSE_SRC_READY_STATE_HAVE_FUTURE_DATA,
405 Self::EnoughData => ffi::GST_MSE_SRC_READY_STATE_HAVE_ENOUGH_DATA,
406 Self::__Unknown(value) => value,
407 }
408 }
409}
410
411#[doc(hidden)]
412impl FromGlib<ffi::GstMseSrcReadyState> for MseSrcReadyState {
413 #[inline]
414 unsafe fn from_glib(value: ffi::GstMseSrcReadyState) -> Self {
415 skip_assert_initialized!();
416
417 match value {
418 ffi::GST_MSE_SRC_READY_STATE_HAVE_NOTHING => Self::Nothing,
419 ffi::GST_MSE_SRC_READY_STATE_HAVE_METADATA => Self::Metadata,
420 ffi::GST_MSE_SRC_READY_STATE_HAVE_CURRENT_DATA => Self::CurrentData,
421 ffi::GST_MSE_SRC_READY_STATE_HAVE_FUTURE_DATA => Self::FutureData,
422 ffi::GST_MSE_SRC_READY_STATE_HAVE_ENOUGH_DATA => Self::EnoughData,
423 value => Self::__Unknown(value),
424 }
425 }
426}
427
428impl StaticType for MseSrcReadyState {
429 #[inline]
430 #[doc(alias = "gst_mse_src_ready_state_get_type")]
431 fn static_type() -> glib::Type {
432 unsafe { from_glib(ffi::gst_mse_src_ready_state_get_type()) }
433 }
434}
435
436impl glib::HasParamSpec for MseSrcReadyState {
437 type ParamSpec = glib::ParamSpecEnum;
438 type SetValue = Self;
439 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
440
441 fn param_spec_builder() -> Self::BuilderFn {
442 Self::ParamSpec::builder_with_default
443 }
444}
445
446impl glib::value::ValueType for MseSrcReadyState {
447 type Type = Self;
448}
449
450unsafe impl<'a> glib::value::FromValue<'a> for MseSrcReadyState {
451 type Checker = glib::value::GenericValueTypeChecker<Self>;
452
453 #[inline]
454 unsafe fn from_value(value: &'a glib::Value) -> Self {
455 skip_assert_initialized!();
456 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
457 }
458}
459
460impl ToValue for MseSrcReadyState {
461 #[inline]
462 fn to_value(&self) -> glib::Value {
463 let mut value = glib::Value::for_value_type::<Self>();
464 unsafe {
465 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
466 }
467 value
468 }
469
470 #[inline]
471 fn value_type(&self) -> glib::Type {
472 Self::static_type()
473 }
474}
475
476impl From<MseSrcReadyState> for glib::Value {
477 #[inline]
478 fn from(v: MseSrcReadyState) -> Self {
479 skip_assert_initialized!();
480 ToValue::to_value(&v)
481 }
482}
483
484#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
486#[non_exhaustive]
487#[doc(alias = "GstSourceBufferAppendMode")]
488pub enum SourceBufferAppendMode {
489 #[doc(alias = "GST_SOURCE_BUFFER_APPEND_MODE_SEGMENTS")]
490 Segments,
491 #[doc(alias = "GST_SOURCE_BUFFER_APPEND_MODE_SEQUENCE")]
492 Sequence,
493 #[doc(hidden)]
494 __Unknown(i32),
495}
496
497#[doc(hidden)]
498impl IntoGlib for SourceBufferAppendMode {
499 type GlibType = ffi::GstSourceBufferAppendMode;
500
501 #[inline]
502 fn into_glib(self) -> ffi::GstSourceBufferAppendMode {
503 match self {
504 Self::Segments => ffi::GST_SOURCE_BUFFER_APPEND_MODE_SEGMENTS,
505 Self::Sequence => ffi::GST_SOURCE_BUFFER_APPEND_MODE_SEQUENCE,
506 Self::__Unknown(value) => value,
507 }
508 }
509}
510
511#[doc(hidden)]
512impl FromGlib<ffi::GstSourceBufferAppendMode> for SourceBufferAppendMode {
513 #[inline]
514 unsafe fn from_glib(value: ffi::GstSourceBufferAppendMode) -> Self {
515 skip_assert_initialized!();
516
517 match value {
518 ffi::GST_SOURCE_BUFFER_APPEND_MODE_SEGMENTS => Self::Segments,
519 ffi::GST_SOURCE_BUFFER_APPEND_MODE_SEQUENCE => Self::Sequence,
520 value => Self::__Unknown(value),
521 }
522 }
523}
524
525impl StaticType for SourceBufferAppendMode {
526 #[inline]
527 #[doc(alias = "gst_source_buffer_append_mode_get_type")]
528 fn static_type() -> glib::Type {
529 unsafe { from_glib(ffi::gst_source_buffer_append_mode_get_type()) }
530 }
531}
532
533impl glib::HasParamSpec for SourceBufferAppendMode {
534 type ParamSpec = glib::ParamSpecEnum;
535 type SetValue = Self;
536 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
537
538 fn param_spec_builder() -> Self::BuilderFn {
539 Self::ParamSpec::builder_with_default
540 }
541}
542
543impl glib::value::ValueType for SourceBufferAppendMode {
544 type Type = Self;
545}
546
547unsafe impl<'a> glib::value::FromValue<'a> for SourceBufferAppendMode {
548 type Checker = glib::value::GenericValueTypeChecker<Self>;
549
550 #[inline]
551 unsafe fn from_value(value: &'a glib::Value) -> Self {
552 skip_assert_initialized!();
553 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
554 }
555}
556
557impl ToValue for SourceBufferAppendMode {
558 #[inline]
559 fn to_value(&self) -> glib::Value {
560 let mut value = glib::Value::for_value_type::<Self>();
561 unsafe {
562 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
563 }
564 value
565 }
566
567 #[inline]
568 fn value_type(&self) -> glib::Type {
569 Self::static_type()
570 }
571}
572
573impl From<SourceBufferAppendMode> for glib::Value {
574 #[inline]
575 fn from(v: SourceBufferAppendMode) -> Self {
576 skip_assert_initialized!();
577 ToValue::to_value(&v)
578 }
579}