gstreamer_rtp/auto/
enums.rs

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
6use crate::ffi;
7use glib::{prelude::*, translate::*};
8
9#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
10#[non_exhaustive]
11#[doc(alias = "GstRTCPFBType")]
12pub enum RTCPFBType {
13    #[doc(alias = "GST_RTCP_FB_TYPE_INVALID")]
14    FbTypeInvalid,
15    #[doc(alias = "GST_RTCP_RTPFB_TYPE_NACK")]
16    RtpfbTypeNack,
17    #[doc(alias = "GST_RTCP_RTPFB_TYPE_TMMBR")]
18    RtpfbTypeTmmbr,
19    #[doc(alias = "GST_RTCP_RTPFB_TYPE_TMMBN")]
20    RtpfbTypeTmmbn,
21    #[doc(alias = "GST_RTCP_RTPFB_TYPE_RTCP_SR_REQ")]
22    RtpfbTypeRtcpSrReq,
23    #[doc(alias = "GST_RTCP_RTPFB_TYPE_TWCC")]
24    RtpfbTypeTwcc,
25    #[doc(alias = "GST_RTCP_PSFB_TYPE_SLI")]
26    PsfbTypeSli,
27    #[doc(alias = "GST_RTCP_PSFB_TYPE_TSTN")]
28    PsfbTypeTstn,
29    #[doc(alias = "GST_RTCP_PSFB_TYPE_VBCN")]
30    PsfbTypeVbcn,
31    #[doc(hidden)]
32    __Unknown(i32),
33}
34
35#[doc(hidden)]
36impl IntoGlib for RTCPFBType {
37    type GlibType = ffi::GstRTCPFBType;
38
39    #[inline]
40    fn into_glib(self) -> ffi::GstRTCPFBType {
41        match self {
42            Self::FbTypeInvalid => ffi::GST_RTCP_FB_TYPE_INVALID,
43            Self::RtpfbTypeNack => ffi::GST_RTCP_RTPFB_TYPE_NACK,
44            Self::RtpfbTypeTmmbr => ffi::GST_RTCP_RTPFB_TYPE_TMMBR,
45            Self::RtpfbTypeTmmbn => ffi::GST_RTCP_RTPFB_TYPE_TMMBN,
46            Self::RtpfbTypeRtcpSrReq => ffi::GST_RTCP_RTPFB_TYPE_RTCP_SR_REQ,
47            Self::RtpfbTypeTwcc => ffi::GST_RTCP_RTPFB_TYPE_TWCC,
48            Self::PsfbTypeSli => ffi::GST_RTCP_PSFB_TYPE_SLI,
49            Self::PsfbTypeTstn => ffi::GST_RTCP_PSFB_TYPE_TSTN,
50            Self::PsfbTypeVbcn => ffi::GST_RTCP_PSFB_TYPE_VBCN,
51            Self::__Unknown(value) => value,
52        }
53    }
54}
55
56#[doc(hidden)]
57impl FromGlib<ffi::GstRTCPFBType> for RTCPFBType {
58    #[inline]
59    unsafe fn from_glib(value: ffi::GstRTCPFBType) -> Self {
60        skip_assert_initialized!();
61
62        match value {
63            ffi::GST_RTCP_FB_TYPE_INVALID => Self::FbTypeInvalid,
64            ffi::GST_RTCP_RTPFB_TYPE_NACK => Self::RtpfbTypeNack,
65            ffi::GST_RTCP_RTPFB_TYPE_TMMBR => Self::RtpfbTypeTmmbr,
66            ffi::GST_RTCP_RTPFB_TYPE_TMMBN => Self::RtpfbTypeTmmbn,
67            ffi::GST_RTCP_RTPFB_TYPE_RTCP_SR_REQ => Self::RtpfbTypeRtcpSrReq,
68            ffi::GST_RTCP_RTPFB_TYPE_TWCC => Self::RtpfbTypeTwcc,
69            ffi::GST_RTCP_PSFB_TYPE_SLI => Self::PsfbTypeSli,
70            ffi::GST_RTCP_PSFB_TYPE_TSTN => Self::PsfbTypeTstn,
71            ffi::GST_RTCP_PSFB_TYPE_VBCN => Self::PsfbTypeVbcn,
72            value => Self::__Unknown(value),
73        }
74    }
75}
76
77impl StaticType for RTCPFBType {
78    #[inline]
79    #[doc(alias = "gst_rtcpfb_type_get_type")]
80    fn static_type() -> glib::Type {
81        unsafe { from_glib(ffi::gst_rtcpfb_type_get_type()) }
82    }
83}
84
85impl glib::HasParamSpec for RTCPFBType {
86    type ParamSpec = glib::ParamSpecEnum;
87    type SetValue = Self;
88    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
89
90    fn param_spec_builder() -> Self::BuilderFn {
91        Self::ParamSpec::builder_with_default
92    }
93}
94
95impl glib::value::ValueType for RTCPFBType {
96    type Type = Self;
97}
98
99unsafe impl<'a> glib::value::FromValue<'a> for RTCPFBType {
100    type Checker = glib::value::GenericValueTypeChecker<Self>;
101
102    #[inline]
103    unsafe fn from_value(value: &'a glib::Value) -> Self {
104        skip_assert_initialized!();
105        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
106    }
107}
108
109impl ToValue for RTCPFBType {
110    #[inline]
111    fn to_value(&self) -> glib::Value {
112        let mut value = glib::Value::for_value_type::<Self>();
113        unsafe {
114            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
115        }
116        value
117    }
118
119    #[inline]
120    fn value_type(&self) -> glib::Type {
121        Self::static_type()
122    }
123}
124
125impl From<RTCPFBType> for glib::Value {
126    #[inline]
127    fn from(v: RTCPFBType) -> Self {
128        skip_assert_initialized!();
129        ToValue::to_value(&v)
130    }
131}
132
133#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
134#[non_exhaustive]
135#[doc(alias = "GstRTCPSDESType")]
136pub enum RTCPSDESType {
137    #[doc(alias = "GST_RTCP_SDES_INVALID")]
138    Invalid,
139    #[doc(alias = "GST_RTCP_SDES_END")]
140    End,
141    #[doc(alias = "GST_RTCP_SDES_CNAME")]
142    Cname,
143    #[doc(alias = "GST_RTCP_SDES_NAME")]
144    Name,
145    #[doc(alias = "GST_RTCP_SDES_EMAIL")]
146    Email,
147    #[doc(alias = "GST_RTCP_SDES_PHONE")]
148    Phone,
149    #[doc(alias = "GST_RTCP_SDES_LOC")]
150    Loc,
151    #[doc(alias = "GST_RTCP_SDES_TOOL")]
152    Tool,
153    #[doc(alias = "GST_RTCP_SDES_NOTE")]
154    Note,
155    #[doc(alias = "GST_RTCP_SDES_PRIV")]
156    Priv,
157    #[cfg(feature = "v1_20")]
158    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
159    #[doc(alias = "GST_RTCP_SDES_H323_CADDR")]
160    H323Caddr,
161    #[cfg(feature = "v1_20")]
162    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
163    #[doc(alias = "GST_RTCP_SDES_APSI")]
164    Apsi,
165    #[cfg(feature = "v1_20")]
166    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
167    #[doc(alias = "GST_RTCP_SDES_RGRP")]
168    Rgrp,
169    #[cfg(feature = "v1_20")]
170    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
171    #[doc(alias = "GST_RTCP_SDES_RTP_STREAM_ID")]
172    RtpStreamId,
173    #[cfg(feature = "v1_20")]
174    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
175    #[doc(alias = "GST_RTCP_SDES_REPAIRED_RTP_STREAM_ID")]
176    RepairedRtpStreamId,
177    #[cfg(feature = "v1_20")]
178    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
179    #[doc(alias = "GST_RTCP_SDES_CCID")]
180    Ccid,
181    #[cfg(feature = "v1_20")]
182    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
183    #[doc(alias = "GST_RTCP_SDES_MID")]
184    Mid,
185    #[doc(hidden)]
186    __Unknown(i32),
187}
188
189#[doc(hidden)]
190impl IntoGlib for RTCPSDESType {
191    type GlibType = ffi::GstRTCPSDESType;
192
193    fn into_glib(self) -> ffi::GstRTCPSDESType {
194        match self {
195            Self::Invalid => ffi::GST_RTCP_SDES_INVALID,
196            Self::End => ffi::GST_RTCP_SDES_END,
197            Self::Cname => ffi::GST_RTCP_SDES_CNAME,
198            Self::Name => ffi::GST_RTCP_SDES_NAME,
199            Self::Email => ffi::GST_RTCP_SDES_EMAIL,
200            Self::Phone => ffi::GST_RTCP_SDES_PHONE,
201            Self::Loc => ffi::GST_RTCP_SDES_LOC,
202            Self::Tool => ffi::GST_RTCP_SDES_TOOL,
203            Self::Note => ffi::GST_RTCP_SDES_NOTE,
204            Self::Priv => ffi::GST_RTCP_SDES_PRIV,
205            #[cfg(feature = "v1_20")]
206            Self::H323Caddr => ffi::GST_RTCP_SDES_H323_CADDR,
207            #[cfg(feature = "v1_20")]
208            Self::Apsi => ffi::GST_RTCP_SDES_APSI,
209            #[cfg(feature = "v1_20")]
210            Self::Rgrp => ffi::GST_RTCP_SDES_RGRP,
211            #[cfg(feature = "v1_20")]
212            Self::RtpStreamId => ffi::GST_RTCP_SDES_RTP_STREAM_ID,
213            #[cfg(feature = "v1_20")]
214            Self::RepairedRtpStreamId => ffi::GST_RTCP_SDES_REPAIRED_RTP_STREAM_ID,
215            #[cfg(feature = "v1_20")]
216            Self::Ccid => ffi::GST_RTCP_SDES_CCID,
217            #[cfg(feature = "v1_20")]
218            Self::Mid => ffi::GST_RTCP_SDES_MID,
219            Self::__Unknown(value) => value,
220        }
221    }
222}
223
224#[doc(hidden)]
225impl FromGlib<ffi::GstRTCPSDESType> for RTCPSDESType {
226    unsafe fn from_glib(value: ffi::GstRTCPSDESType) -> Self {
227        skip_assert_initialized!();
228
229        match value {
230            ffi::GST_RTCP_SDES_INVALID => Self::Invalid,
231            ffi::GST_RTCP_SDES_END => Self::End,
232            ffi::GST_RTCP_SDES_CNAME => Self::Cname,
233            ffi::GST_RTCP_SDES_NAME => Self::Name,
234            ffi::GST_RTCP_SDES_EMAIL => Self::Email,
235            ffi::GST_RTCP_SDES_PHONE => Self::Phone,
236            ffi::GST_RTCP_SDES_LOC => Self::Loc,
237            ffi::GST_RTCP_SDES_TOOL => Self::Tool,
238            ffi::GST_RTCP_SDES_NOTE => Self::Note,
239            ffi::GST_RTCP_SDES_PRIV => Self::Priv,
240            #[cfg(feature = "v1_20")]
241            ffi::GST_RTCP_SDES_H323_CADDR => Self::H323Caddr,
242            #[cfg(feature = "v1_20")]
243            ffi::GST_RTCP_SDES_APSI => Self::Apsi,
244            #[cfg(feature = "v1_20")]
245            ffi::GST_RTCP_SDES_RGRP => Self::Rgrp,
246            #[cfg(feature = "v1_20")]
247            ffi::GST_RTCP_SDES_RTP_STREAM_ID => Self::RtpStreamId,
248            #[cfg(feature = "v1_20")]
249            ffi::GST_RTCP_SDES_REPAIRED_RTP_STREAM_ID => Self::RepairedRtpStreamId,
250            #[cfg(feature = "v1_20")]
251            ffi::GST_RTCP_SDES_CCID => Self::Ccid,
252            #[cfg(feature = "v1_20")]
253            ffi::GST_RTCP_SDES_MID => Self::Mid,
254            value => Self::__Unknown(value),
255        }
256    }
257}
258
259impl StaticType for RTCPSDESType {
260    #[inline]
261    #[doc(alias = "gst_rtcpsdes_type_get_type")]
262    fn static_type() -> glib::Type {
263        unsafe { from_glib(ffi::gst_rtcpsdes_type_get_type()) }
264    }
265}
266
267impl glib::HasParamSpec for RTCPSDESType {
268    type ParamSpec = glib::ParamSpecEnum;
269    type SetValue = Self;
270    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
271
272    fn param_spec_builder() -> Self::BuilderFn {
273        Self::ParamSpec::builder_with_default
274    }
275}
276
277impl glib::value::ValueType for RTCPSDESType {
278    type Type = Self;
279}
280
281unsafe impl<'a> glib::value::FromValue<'a> for RTCPSDESType {
282    type Checker = glib::value::GenericValueTypeChecker<Self>;
283
284    #[inline]
285    unsafe fn from_value(value: &'a glib::Value) -> Self {
286        skip_assert_initialized!();
287        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
288    }
289}
290
291impl ToValue for RTCPSDESType {
292    #[inline]
293    fn to_value(&self) -> glib::Value {
294        let mut value = glib::Value::for_value_type::<Self>();
295        unsafe {
296            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
297        }
298        value
299    }
300
301    #[inline]
302    fn value_type(&self) -> glib::Type {
303        Self::static_type()
304    }
305}
306
307impl From<RTCPSDESType> for glib::Value {
308    #[inline]
309    fn from(v: RTCPSDESType) -> Self {
310        skip_assert_initialized!();
311        ToValue::to_value(&v)
312    }
313}
314
315#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
316#[non_exhaustive]
317#[doc(alias = "GstRTCPType")]
318pub enum RTCPType {
319    #[doc(alias = "GST_RTCP_TYPE_INVALID")]
320    Invalid,
321    #[doc(alias = "GST_RTCP_TYPE_SR")]
322    Sr,
323    #[doc(alias = "GST_RTCP_TYPE_RR")]
324    Rr,
325    #[doc(alias = "GST_RTCP_TYPE_SDES")]
326    Sdes,
327    #[doc(alias = "GST_RTCP_TYPE_BYE")]
328    Bye,
329    #[doc(alias = "GST_RTCP_TYPE_APP")]
330    App,
331    #[doc(alias = "GST_RTCP_TYPE_RTPFB")]
332    Rtpfb,
333    #[doc(alias = "GST_RTCP_TYPE_PSFB")]
334    Psfb,
335    #[doc(alias = "GST_RTCP_TYPE_XR")]
336    Xr,
337    #[doc(hidden)]
338    __Unknown(i32),
339}
340
341#[doc(hidden)]
342impl IntoGlib for RTCPType {
343    type GlibType = ffi::GstRTCPType;
344
345    #[inline]
346    fn into_glib(self) -> ffi::GstRTCPType {
347        match self {
348            Self::Invalid => ffi::GST_RTCP_TYPE_INVALID,
349            Self::Sr => ffi::GST_RTCP_TYPE_SR,
350            Self::Rr => ffi::GST_RTCP_TYPE_RR,
351            Self::Sdes => ffi::GST_RTCP_TYPE_SDES,
352            Self::Bye => ffi::GST_RTCP_TYPE_BYE,
353            Self::App => ffi::GST_RTCP_TYPE_APP,
354            Self::Rtpfb => ffi::GST_RTCP_TYPE_RTPFB,
355            Self::Psfb => ffi::GST_RTCP_TYPE_PSFB,
356            Self::Xr => ffi::GST_RTCP_TYPE_XR,
357            Self::__Unknown(value) => value,
358        }
359    }
360}
361
362#[doc(hidden)]
363impl FromGlib<ffi::GstRTCPType> for RTCPType {
364    #[inline]
365    unsafe fn from_glib(value: ffi::GstRTCPType) -> Self {
366        skip_assert_initialized!();
367
368        match value {
369            ffi::GST_RTCP_TYPE_INVALID => Self::Invalid,
370            ffi::GST_RTCP_TYPE_SR => Self::Sr,
371            ffi::GST_RTCP_TYPE_RR => Self::Rr,
372            ffi::GST_RTCP_TYPE_SDES => Self::Sdes,
373            ffi::GST_RTCP_TYPE_BYE => Self::Bye,
374            ffi::GST_RTCP_TYPE_APP => Self::App,
375            ffi::GST_RTCP_TYPE_RTPFB => Self::Rtpfb,
376            ffi::GST_RTCP_TYPE_PSFB => Self::Psfb,
377            ffi::GST_RTCP_TYPE_XR => Self::Xr,
378            value => Self::__Unknown(value),
379        }
380    }
381}
382
383impl StaticType for RTCPType {
384    #[inline]
385    #[doc(alias = "gst_rtcp_type_get_type")]
386    fn static_type() -> glib::Type {
387        unsafe { from_glib(ffi::gst_rtcp_type_get_type()) }
388    }
389}
390
391impl glib::HasParamSpec for RTCPType {
392    type ParamSpec = glib::ParamSpecEnum;
393    type SetValue = Self;
394    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
395
396    fn param_spec_builder() -> Self::BuilderFn {
397        Self::ParamSpec::builder_with_default
398    }
399}
400
401impl glib::value::ValueType for RTCPType {
402    type Type = Self;
403}
404
405unsafe impl<'a> glib::value::FromValue<'a> for RTCPType {
406    type Checker = glib::value::GenericValueTypeChecker<Self>;
407
408    #[inline]
409    unsafe fn from_value(value: &'a glib::Value) -> Self {
410        skip_assert_initialized!();
411        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
412    }
413}
414
415impl ToValue for RTCPType {
416    #[inline]
417    fn to_value(&self) -> glib::Value {
418        let mut value = glib::Value::for_value_type::<Self>();
419        unsafe {
420            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
421        }
422        value
423    }
424
425    #[inline]
426    fn value_type(&self) -> glib::Type {
427        Self::static_type()
428    }
429}
430
431impl From<RTCPType> for glib::Value {
432    #[inline]
433    fn from(v: RTCPType) -> Self {
434        skip_assert_initialized!();
435        ToValue::to_value(&v)
436    }
437}
438
439#[cfg(feature = "v1_16")]
440#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
441#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
442#[non_exhaustive]
443#[doc(alias = "GstRTCPXRType")]
444pub enum RTCPXRType {
445    #[doc(alias = "GST_RTCP_XR_TYPE_INVALID")]
446    Invalid,
447    #[doc(alias = "GST_RTCP_XR_TYPE_LRLE")]
448    Lrle,
449    #[doc(alias = "GST_RTCP_XR_TYPE_DRLE")]
450    Drle,
451    #[doc(alias = "GST_RTCP_XR_TYPE_PRT")]
452    Prt,
453    #[doc(alias = "GST_RTCP_XR_TYPE_RRT")]
454    Rrt,
455    #[doc(alias = "GST_RTCP_XR_TYPE_DLRR")]
456    Dlrr,
457    #[doc(alias = "GST_RTCP_XR_TYPE_SSUMM")]
458    Ssumm,
459    #[doc(alias = "GST_RTCP_XR_TYPE_VOIP_METRICS")]
460    VoipMetrics,
461    #[doc(hidden)]
462    __Unknown(i32),
463}
464
465#[cfg(feature = "v1_16")]
466#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
467#[doc(hidden)]
468impl IntoGlib for RTCPXRType {
469    type GlibType = ffi::GstRTCPXRType;
470
471    #[inline]
472    fn into_glib(self) -> ffi::GstRTCPXRType {
473        match self {
474            Self::Invalid => ffi::GST_RTCP_XR_TYPE_INVALID,
475            Self::Lrle => ffi::GST_RTCP_XR_TYPE_LRLE,
476            Self::Drle => ffi::GST_RTCP_XR_TYPE_DRLE,
477            Self::Prt => ffi::GST_RTCP_XR_TYPE_PRT,
478            Self::Rrt => ffi::GST_RTCP_XR_TYPE_RRT,
479            Self::Dlrr => ffi::GST_RTCP_XR_TYPE_DLRR,
480            Self::Ssumm => ffi::GST_RTCP_XR_TYPE_SSUMM,
481            Self::VoipMetrics => ffi::GST_RTCP_XR_TYPE_VOIP_METRICS,
482            Self::__Unknown(value) => value,
483        }
484    }
485}
486
487#[cfg(feature = "v1_16")]
488#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
489#[doc(hidden)]
490impl FromGlib<ffi::GstRTCPXRType> for RTCPXRType {
491    #[inline]
492    unsafe fn from_glib(value: ffi::GstRTCPXRType) -> Self {
493        skip_assert_initialized!();
494
495        match value {
496            ffi::GST_RTCP_XR_TYPE_INVALID => Self::Invalid,
497            ffi::GST_RTCP_XR_TYPE_LRLE => Self::Lrle,
498            ffi::GST_RTCP_XR_TYPE_DRLE => Self::Drle,
499            ffi::GST_RTCP_XR_TYPE_PRT => Self::Prt,
500            ffi::GST_RTCP_XR_TYPE_RRT => Self::Rrt,
501            ffi::GST_RTCP_XR_TYPE_DLRR => Self::Dlrr,
502            ffi::GST_RTCP_XR_TYPE_SSUMM => Self::Ssumm,
503            ffi::GST_RTCP_XR_TYPE_VOIP_METRICS => Self::VoipMetrics,
504            value => Self::__Unknown(value),
505        }
506    }
507}
508
509#[cfg(feature = "v1_16")]
510#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
511impl StaticType for RTCPXRType {
512    #[inline]
513    #[doc(alias = "gst_rtcpxr_type_get_type")]
514    fn static_type() -> glib::Type {
515        unsafe { from_glib(ffi::gst_rtcpxr_type_get_type()) }
516    }
517}
518
519#[cfg(feature = "v1_16")]
520#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
521impl glib::HasParamSpec for RTCPXRType {
522    type ParamSpec = glib::ParamSpecEnum;
523    type SetValue = Self;
524    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
525
526    fn param_spec_builder() -> Self::BuilderFn {
527        Self::ParamSpec::builder_with_default
528    }
529}
530
531#[cfg(feature = "v1_16")]
532#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
533impl glib::value::ValueType for RTCPXRType {
534    type Type = Self;
535}
536
537#[cfg(feature = "v1_16")]
538#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
539unsafe impl<'a> glib::value::FromValue<'a> for RTCPXRType {
540    type Checker = glib::value::GenericValueTypeChecker<Self>;
541
542    #[inline]
543    unsafe fn from_value(value: &'a glib::Value) -> Self {
544        skip_assert_initialized!();
545        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
546    }
547}
548
549#[cfg(feature = "v1_16")]
550#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
551impl ToValue for RTCPXRType {
552    #[inline]
553    fn to_value(&self) -> glib::Value {
554        let mut value = glib::Value::for_value_type::<Self>();
555        unsafe {
556            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
557        }
558        value
559    }
560
561    #[inline]
562    fn value_type(&self) -> glib::Type {
563        Self::static_type()
564    }
565}
566
567#[cfg(feature = "v1_16")]
568#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
569impl From<RTCPXRType> for glib::Value {
570    #[inline]
571    fn from(v: RTCPXRType) -> Self {
572        skip_assert_initialized!();
573        ToValue::to_value(&v)
574    }
575}
576
577#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
578#[non_exhaustive]
579#[doc(alias = "GstRTPPayload")]
580pub enum RTPPayload {
581    #[doc(alias = "GST_RTP_PAYLOAD_PCMU")]
582    Pcmu,
583    #[doc(alias = "GST_RTP_PAYLOAD_1016")]
584    _1016,
585    #[doc(alias = "GST_RTP_PAYLOAD_G721")]
586    G721,
587    #[doc(alias = "GST_RTP_PAYLOAD_GSM")]
588    Gsm,
589    #[doc(alias = "GST_RTP_PAYLOAD_G723")]
590    G723,
591    #[doc(alias = "GST_RTP_PAYLOAD_DVI4_8000")]
592    Dvi48000,
593    #[doc(alias = "GST_RTP_PAYLOAD_DVI4_16000")]
594    Dvi416000,
595    #[doc(alias = "GST_RTP_PAYLOAD_LPC")]
596    Lpc,
597    #[doc(alias = "GST_RTP_PAYLOAD_PCMA")]
598    Pcma,
599    #[doc(alias = "GST_RTP_PAYLOAD_G722")]
600    G722,
601    #[doc(alias = "GST_RTP_PAYLOAD_L16_STEREO")]
602    L16Stereo,
603    #[doc(alias = "GST_RTP_PAYLOAD_L16_MONO")]
604    L16Mono,
605    #[doc(alias = "GST_RTP_PAYLOAD_QCELP")]
606    Qcelp,
607    #[doc(alias = "GST_RTP_PAYLOAD_CN")]
608    Cn,
609    #[doc(alias = "GST_RTP_PAYLOAD_MPA")]
610    Mpa,
611    #[doc(alias = "GST_RTP_PAYLOAD_G728")]
612    G728,
613    #[doc(alias = "GST_RTP_PAYLOAD_DVI4_11025")]
614    Dvi411025,
615    #[doc(alias = "GST_RTP_PAYLOAD_DVI4_22050")]
616    Dvi422050,
617    #[doc(alias = "GST_RTP_PAYLOAD_G729")]
618    G729,
619    #[doc(alias = "GST_RTP_PAYLOAD_CELLB")]
620    Cellb,
621    #[doc(alias = "GST_RTP_PAYLOAD_JPEG")]
622    Jpeg,
623    #[doc(alias = "GST_RTP_PAYLOAD_NV")]
624    Nv,
625    #[doc(alias = "GST_RTP_PAYLOAD_H261")]
626    H261,
627    #[doc(alias = "GST_RTP_PAYLOAD_MPV")]
628    Mpv,
629    #[doc(alias = "GST_RTP_PAYLOAD_MP2T")]
630    Mp2t,
631    #[doc(alias = "GST_RTP_PAYLOAD_H263")]
632    H263,
633    #[doc(hidden)]
634    __Unknown(i32),
635}
636
637#[doc(hidden)]
638impl IntoGlib for RTPPayload {
639    type GlibType = ffi::GstRTPPayload;
640
641    fn into_glib(self) -> ffi::GstRTPPayload {
642        match self {
643            Self::Pcmu => ffi::GST_RTP_PAYLOAD_PCMU,
644            Self::_1016 => ffi::GST_RTP_PAYLOAD_1016,
645            Self::G721 => ffi::GST_RTP_PAYLOAD_G721,
646            Self::Gsm => ffi::GST_RTP_PAYLOAD_GSM,
647            Self::G723 => ffi::GST_RTP_PAYLOAD_G723,
648            Self::Dvi48000 => ffi::GST_RTP_PAYLOAD_DVI4_8000,
649            Self::Dvi416000 => ffi::GST_RTP_PAYLOAD_DVI4_16000,
650            Self::Lpc => ffi::GST_RTP_PAYLOAD_LPC,
651            Self::Pcma => ffi::GST_RTP_PAYLOAD_PCMA,
652            Self::G722 => ffi::GST_RTP_PAYLOAD_G722,
653            Self::L16Stereo => ffi::GST_RTP_PAYLOAD_L16_STEREO,
654            Self::L16Mono => ffi::GST_RTP_PAYLOAD_L16_MONO,
655            Self::Qcelp => ffi::GST_RTP_PAYLOAD_QCELP,
656            Self::Cn => ffi::GST_RTP_PAYLOAD_CN,
657            Self::Mpa => ffi::GST_RTP_PAYLOAD_MPA,
658            Self::G728 => ffi::GST_RTP_PAYLOAD_G728,
659            Self::Dvi411025 => ffi::GST_RTP_PAYLOAD_DVI4_11025,
660            Self::Dvi422050 => ffi::GST_RTP_PAYLOAD_DVI4_22050,
661            Self::G729 => ffi::GST_RTP_PAYLOAD_G729,
662            Self::Cellb => ffi::GST_RTP_PAYLOAD_CELLB,
663            Self::Jpeg => ffi::GST_RTP_PAYLOAD_JPEG,
664            Self::Nv => ffi::GST_RTP_PAYLOAD_NV,
665            Self::H261 => ffi::GST_RTP_PAYLOAD_H261,
666            Self::Mpv => ffi::GST_RTP_PAYLOAD_MPV,
667            Self::Mp2t => ffi::GST_RTP_PAYLOAD_MP2T,
668            Self::H263 => ffi::GST_RTP_PAYLOAD_H263,
669            Self::__Unknown(value) => value,
670        }
671    }
672}
673
674#[doc(hidden)]
675impl FromGlib<ffi::GstRTPPayload> for RTPPayload {
676    unsafe fn from_glib(value: ffi::GstRTPPayload) -> Self {
677        skip_assert_initialized!();
678
679        match value {
680            ffi::GST_RTP_PAYLOAD_PCMU => Self::Pcmu,
681            ffi::GST_RTP_PAYLOAD_1016 => Self::_1016,
682            ffi::GST_RTP_PAYLOAD_G721 => Self::G721,
683            ffi::GST_RTP_PAYLOAD_GSM => Self::Gsm,
684            ffi::GST_RTP_PAYLOAD_G723 => Self::G723,
685            ffi::GST_RTP_PAYLOAD_DVI4_8000 => Self::Dvi48000,
686            ffi::GST_RTP_PAYLOAD_DVI4_16000 => Self::Dvi416000,
687            ffi::GST_RTP_PAYLOAD_LPC => Self::Lpc,
688            ffi::GST_RTP_PAYLOAD_PCMA => Self::Pcma,
689            ffi::GST_RTP_PAYLOAD_G722 => Self::G722,
690            ffi::GST_RTP_PAYLOAD_L16_STEREO => Self::L16Stereo,
691            ffi::GST_RTP_PAYLOAD_L16_MONO => Self::L16Mono,
692            ffi::GST_RTP_PAYLOAD_QCELP => Self::Qcelp,
693            ffi::GST_RTP_PAYLOAD_CN => Self::Cn,
694            ffi::GST_RTP_PAYLOAD_MPA => Self::Mpa,
695            ffi::GST_RTP_PAYLOAD_G728 => Self::G728,
696            ffi::GST_RTP_PAYLOAD_DVI4_11025 => Self::Dvi411025,
697            ffi::GST_RTP_PAYLOAD_DVI4_22050 => Self::Dvi422050,
698            ffi::GST_RTP_PAYLOAD_G729 => Self::G729,
699            ffi::GST_RTP_PAYLOAD_CELLB => Self::Cellb,
700            ffi::GST_RTP_PAYLOAD_JPEG => Self::Jpeg,
701            ffi::GST_RTP_PAYLOAD_NV => Self::Nv,
702            ffi::GST_RTP_PAYLOAD_H261 => Self::H261,
703            ffi::GST_RTP_PAYLOAD_MPV => Self::Mpv,
704            ffi::GST_RTP_PAYLOAD_MP2T => Self::Mp2t,
705            ffi::GST_RTP_PAYLOAD_H263 => Self::H263,
706            value => Self::__Unknown(value),
707        }
708    }
709}
710
711impl StaticType for RTPPayload {
712    #[inline]
713    #[doc(alias = "gst_rtp_payload_get_type")]
714    fn static_type() -> glib::Type {
715        unsafe { from_glib(ffi::gst_rtp_payload_get_type()) }
716    }
717}
718
719impl glib::HasParamSpec for RTPPayload {
720    type ParamSpec = glib::ParamSpecEnum;
721    type SetValue = Self;
722    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
723
724    fn param_spec_builder() -> Self::BuilderFn {
725        Self::ParamSpec::builder_with_default
726    }
727}
728
729impl glib::value::ValueType for RTPPayload {
730    type Type = Self;
731}
732
733unsafe impl<'a> glib::value::FromValue<'a> for RTPPayload {
734    type Checker = glib::value::GenericValueTypeChecker<Self>;
735
736    #[inline]
737    unsafe fn from_value(value: &'a glib::Value) -> Self {
738        skip_assert_initialized!();
739        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
740    }
741}
742
743impl ToValue for RTPPayload {
744    #[inline]
745    fn to_value(&self) -> glib::Value {
746        let mut value = glib::Value::for_value_type::<Self>();
747        unsafe {
748            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
749        }
750        value
751    }
752
753    #[inline]
754    fn value_type(&self) -> glib::Type {
755        Self::static_type()
756    }
757}
758
759impl From<RTPPayload> for glib::Value {
760    #[inline]
761    fn from(v: RTPPayload) -> Self {
762        skip_assert_initialized!();
763        ToValue::to_value(&v)
764    }
765}
766
767#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
768#[non_exhaustive]
769#[doc(alias = "GstRTPProfile")]
770pub enum RTPProfile {
771    #[doc(alias = "GST_RTP_PROFILE_UNKNOWN")]
772    Unknown,
773    #[doc(alias = "GST_RTP_PROFILE_AVP")]
774    Avp,
775    #[doc(alias = "GST_RTP_PROFILE_SAVP")]
776    Savp,
777    #[doc(alias = "GST_RTP_PROFILE_AVPF")]
778    Avpf,
779    #[doc(alias = "GST_RTP_PROFILE_SAVPF")]
780    Savpf,
781    #[doc(hidden)]
782    __Unknown(i32),
783}
784
785#[doc(hidden)]
786impl IntoGlib for RTPProfile {
787    type GlibType = ffi::GstRTPProfile;
788
789    #[inline]
790    fn into_glib(self) -> ffi::GstRTPProfile {
791        match self {
792            Self::Unknown => ffi::GST_RTP_PROFILE_UNKNOWN,
793            Self::Avp => ffi::GST_RTP_PROFILE_AVP,
794            Self::Savp => ffi::GST_RTP_PROFILE_SAVP,
795            Self::Avpf => ffi::GST_RTP_PROFILE_AVPF,
796            Self::Savpf => ffi::GST_RTP_PROFILE_SAVPF,
797            Self::__Unknown(value) => value,
798        }
799    }
800}
801
802#[doc(hidden)]
803impl FromGlib<ffi::GstRTPProfile> for RTPProfile {
804    #[inline]
805    unsafe fn from_glib(value: ffi::GstRTPProfile) -> Self {
806        skip_assert_initialized!();
807
808        match value {
809            ffi::GST_RTP_PROFILE_UNKNOWN => Self::Unknown,
810            ffi::GST_RTP_PROFILE_AVP => Self::Avp,
811            ffi::GST_RTP_PROFILE_SAVP => Self::Savp,
812            ffi::GST_RTP_PROFILE_AVPF => Self::Avpf,
813            ffi::GST_RTP_PROFILE_SAVPF => Self::Savpf,
814            value => Self::__Unknown(value),
815        }
816    }
817}
818
819impl StaticType for RTPProfile {
820    #[inline]
821    #[doc(alias = "gst_rtp_profile_get_type")]
822    fn static_type() -> glib::Type {
823        unsafe { from_glib(ffi::gst_rtp_profile_get_type()) }
824    }
825}
826
827impl glib::HasParamSpec for RTPProfile {
828    type ParamSpec = glib::ParamSpecEnum;
829    type SetValue = Self;
830    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
831
832    fn param_spec_builder() -> Self::BuilderFn {
833        Self::ParamSpec::builder_with_default
834    }
835}
836
837impl glib::value::ValueType for RTPProfile {
838    type Type = Self;
839}
840
841unsafe impl<'a> glib::value::FromValue<'a> for RTPProfile {
842    type Checker = glib::value::GenericValueTypeChecker<Self>;
843
844    #[inline]
845    unsafe fn from_value(value: &'a glib::Value) -> Self {
846        skip_assert_initialized!();
847        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
848    }
849}
850
851impl ToValue for RTPProfile {
852    #[inline]
853    fn to_value(&self) -> glib::Value {
854        let mut value = glib::Value::for_value_type::<Self>();
855        unsafe {
856            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
857        }
858        value
859    }
860
861    #[inline]
862    fn value_type(&self) -> glib::Type {
863        Self::static_type()
864    }
865}
866
867impl From<RTPProfile> for glib::Value {
868    #[inline]
869    fn from(v: RTPProfile) -> Self {
870        skip_assert_initialized!();
871        ToValue::to_value(&v)
872    }
873}