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