Skip to main content

gstreamer_rtsp/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 = "GstRTSPAuthMethod")]
12pub enum RTSPAuthMethod {
13    #[doc(alias = "GST_RTSP_AUTH_NONE")]
14    None,
15    #[doc(alias = "GST_RTSP_AUTH_BASIC")]
16    Basic,
17    #[doc(alias = "GST_RTSP_AUTH_DIGEST")]
18    Digest,
19    #[doc(hidden)]
20    __Unknown(i32),
21}
22
23#[doc(hidden)]
24impl IntoGlib for RTSPAuthMethod {
25    type GlibType = ffi::GstRTSPAuthMethod;
26
27    #[inline]
28    fn into_glib(self) -> ffi::GstRTSPAuthMethod {
29        match self {
30            Self::None => ffi::GST_RTSP_AUTH_NONE,
31            Self::Basic => ffi::GST_RTSP_AUTH_BASIC,
32            Self::Digest => ffi::GST_RTSP_AUTH_DIGEST,
33            Self::__Unknown(value) => value,
34        }
35    }
36}
37
38#[doc(hidden)]
39impl FromGlib<ffi::GstRTSPAuthMethod> for RTSPAuthMethod {
40    #[inline]
41    unsafe fn from_glib(value: ffi::GstRTSPAuthMethod) -> Self {
42        skip_assert_initialized!();
43
44        match value {
45            ffi::GST_RTSP_AUTH_NONE => Self::None,
46            ffi::GST_RTSP_AUTH_BASIC => Self::Basic,
47            ffi::GST_RTSP_AUTH_DIGEST => Self::Digest,
48            value => Self::__Unknown(value),
49        }
50    }
51}
52
53impl StaticType for RTSPAuthMethod {
54    #[inline]
55    #[doc(alias = "gst_rtsp_auth_method_get_type")]
56    fn static_type() -> glib::Type {
57        unsafe { from_glib(ffi::gst_rtsp_auth_method_get_type()) }
58    }
59}
60
61impl glib::HasParamSpec for RTSPAuthMethod {
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 RTSPAuthMethod {
72    type Type = Self;
73}
74
75unsafe impl<'a> glib::value::FromValue<'a> for RTSPAuthMethod {
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 RTSPAuthMethod {
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<RTSPAuthMethod> for glib::Value {
102    #[inline]
103    fn from(v: RTSPAuthMethod) -> 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 = "GstRTSPFamily")]
112pub enum RTSPFamily {
113    #[doc(alias = "GST_RTSP_FAM_NONE")]
114    None,
115    #[doc(alias = "GST_RTSP_FAM_INET")]
116    Inet,
117    #[doc(alias = "GST_RTSP_FAM_INET6")]
118    Inet6,
119    #[doc(hidden)]
120    __Unknown(i32),
121}
122
123#[doc(hidden)]
124impl IntoGlib for RTSPFamily {
125    type GlibType = ffi::GstRTSPFamily;
126
127    #[inline]
128    fn into_glib(self) -> ffi::GstRTSPFamily {
129        match self {
130            Self::None => ffi::GST_RTSP_FAM_NONE,
131            Self::Inet => ffi::GST_RTSP_FAM_INET,
132            Self::Inet6 => ffi::GST_RTSP_FAM_INET6,
133            Self::__Unknown(value) => value,
134        }
135    }
136}
137
138#[doc(hidden)]
139impl FromGlib<ffi::GstRTSPFamily> for RTSPFamily {
140    #[inline]
141    unsafe fn from_glib(value: ffi::GstRTSPFamily) -> Self {
142        skip_assert_initialized!();
143
144        match value {
145            ffi::GST_RTSP_FAM_NONE => Self::None,
146            ffi::GST_RTSP_FAM_INET => Self::Inet,
147            ffi::GST_RTSP_FAM_INET6 => Self::Inet6,
148            value => Self::__Unknown(value),
149        }
150    }
151}
152
153impl StaticType for RTSPFamily {
154    #[inline]
155    #[doc(alias = "gst_rtsp_family_get_type")]
156    fn static_type() -> glib::Type {
157        unsafe { from_glib(ffi::gst_rtsp_family_get_type()) }
158    }
159}
160
161impl glib::HasParamSpec for RTSPFamily {
162    type ParamSpec = glib::ParamSpecEnum;
163    type SetValue = Self;
164    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
165
166    fn param_spec_builder() -> Self::BuilderFn {
167        Self::ParamSpec::builder_with_default
168    }
169}
170
171impl glib::value::ValueType for RTSPFamily {
172    type Type = Self;
173}
174
175unsafe impl<'a> glib::value::FromValue<'a> for RTSPFamily {
176    type Checker = glib::value::GenericValueTypeChecker<Self>;
177
178    #[inline]
179    unsafe fn from_value(value: &'a glib::Value) -> Self {
180        skip_assert_initialized!();
181        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
182    }
183}
184
185impl ToValue for RTSPFamily {
186    #[inline]
187    fn to_value(&self) -> glib::Value {
188        let mut value = glib::Value::for_value_type::<Self>();
189        unsafe {
190            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
191        }
192        value
193    }
194
195    #[inline]
196    fn value_type(&self) -> glib::Type {
197        Self::static_type()
198    }
199}
200
201impl From<RTSPFamily> for glib::Value {
202    #[inline]
203    fn from(v: RTSPFamily) -> Self {
204        skip_assert_initialized!();
205        ToValue::to_value(&v)
206    }
207}
208
209#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
210#[non_exhaustive]
211#[doc(alias = "GstRTSPHeaderField")]
212pub enum RTSPHeaderField {
213    #[doc(alias = "GST_RTSP_HDR_INVALID")]
214    Invalid,
215    #[doc(alias = "GST_RTSP_HDR_ACCEPT")]
216    Accept,
217    #[doc(alias = "GST_RTSP_HDR_ACCEPT_ENCODING")]
218    AcceptEncoding,
219    #[doc(alias = "GST_RTSP_HDR_ACCEPT_LANGUAGE")]
220    AcceptLanguage,
221    #[doc(alias = "GST_RTSP_HDR_ALLOW")]
222    Allow,
223    #[doc(alias = "GST_RTSP_HDR_AUTHORIZATION")]
224    Authorization,
225    #[doc(alias = "GST_RTSP_HDR_BANDWIDTH")]
226    Bandwidth,
227    #[doc(alias = "GST_RTSP_HDR_BLOCKSIZE")]
228    Blocksize,
229    #[doc(alias = "GST_RTSP_HDR_CACHE_CONTROL")]
230    CacheControl,
231    #[doc(alias = "GST_RTSP_HDR_CONFERENCE")]
232    Conference,
233    #[doc(alias = "GST_RTSP_HDR_CONNECTION")]
234    Connection,
235    #[doc(alias = "GST_RTSP_HDR_CONTENT_BASE")]
236    ContentBase,
237    #[doc(alias = "GST_RTSP_HDR_CONTENT_ENCODING")]
238    ContentEncoding,
239    #[doc(alias = "GST_RTSP_HDR_CONTENT_LANGUAGE")]
240    ContentLanguage,
241    #[doc(alias = "GST_RTSP_HDR_CONTENT_LENGTH")]
242    ContentLength,
243    #[doc(alias = "GST_RTSP_HDR_CONTENT_LOCATION")]
244    ContentLocation,
245    #[doc(alias = "GST_RTSP_HDR_CONTENT_TYPE")]
246    ContentType,
247    #[doc(alias = "GST_RTSP_HDR_CSEQ")]
248    Cseq,
249    #[doc(alias = "GST_RTSP_HDR_DATE")]
250    Date,
251    #[doc(alias = "GST_RTSP_HDR_EXPIRES")]
252    Expires,
253    #[doc(alias = "GST_RTSP_HDR_FROM")]
254    From,
255    #[doc(alias = "GST_RTSP_HDR_IF_MODIFIED_SINCE")]
256    IfModifiedSince,
257    #[doc(alias = "GST_RTSP_HDR_LAST_MODIFIED")]
258    LastModified,
259    #[doc(alias = "GST_RTSP_HDR_PROXY_AUTHENTICATE")]
260    ProxyAuthenticate,
261    #[doc(alias = "GST_RTSP_HDR_PROXY_REQUIRE")]
262    ProxyRequire,
263    #[doc(alias = "GST_RTSP_HDR_PUBLIC")]
264    Public,
265    #[doc(alias = "GST_RTSP_HDR_RANGE")]
266    Range,
267    #[doc(alias = "GST_RTSP_HDR_REFERER")]
268    Referer,
269    #[doc(alias = "GST_RTSP_HDR_REQUIRE")]
270    Require,
271    #[doc(alias = "GST_RTSP_HDR_RETRY_AFTER")]
272    RetryAfter,
273    #[doc(alias = "GST_RTSP_HDR_RTP_INFO")]
274    RtpInfo,
275    #[doc(alias = "GST_RTSP_HDR_SCALE")]
276    Scale,
277    #[doc(alias = "GST_RTSP_HDR_SESSION")]
278    Session,
279    #[doc(alias = "GST_RTSP_HDR_SERVER")]
280    Server,
281    #[doc(alias = "GST_RTSP_HDR_SPEED")]
282    Speed,
283    #[doc(alias = "GST_RTSP_HDR_TRANSPORT")]
284    Transport,
285    #[doc(alias = "GST_RTSP_HDR_UNSUPPORTED")]
286    Unsupported,
287    #[doc(alias = "GST_RTSP_HDR_USER_AGENT")]
288    UserAgent,
289    #[doc(alias = "GST_RTSP_HDR_VIA")]
290    Via,
291    #[doc(alias = "GST_RTSP_HDR_WWW_AUTHENTICATE")]
292    WwwAuthenticate,
293    #[doc(alias = "GST_RTSP_HDR_CLIENT_CHALLENGE")]
294    ClientChallenge,
295    #[doc(alias = "GST_RTSP_HDR_REAL_CHALLENGE1")]
296    RealChallenge1,
297    #[doc(alias = "GST_RTSP_HDR_REAL_CHALLENGE2")]
298    RealChallenge2,
299    #[doc(alias = "GST_RTSP_HDR_REAL_CHALLENGE3")]
300    RealChallenge3,
301    #[doc(alias = "GST_RTSP_HDR_SUBSCRIBE")]
302    Subscribe,
303    #[doc(alias = "GST_RTSP_HDR_ALERT")]
304    Alert,
305    #[doc(alias = "GST_RTSP_HDR_CLIENT_ID")]
306    ClientId,
307    #[doc(alias = "GST_RTSP_HDR_COMPANY_ID")]
308    CompanyId,
309    #[doc(alias = "GST_RTSP_HDR_GUID")]
310    Guid,
311    #[doc(alias = "GST_RTSP_HDR_REGION_DATA")]
312    RegionData,
313    #[doc(alias = "GST_RTSP_HDR_MAX_ASM_WIDTH")]
314    MaxAsmWidth,
315    #[doc(alias = "GST_RTSP_HDR_LANGUAGE")]
316    Language,
317    #[doc(alias = "GST_RTSP_HDR_PLAYER_START_TIME")]
318    PlayerStartTime,
319    #[doc(alias = "GST_RTSP_HDR_LOCATION")]
320    Location,
321    #[doc(alias = "GST_RTSP_HDR_ETAG")]
322    Etag,
323    #[doc(alias = "GST_RTSP_HDR_IF_MATCH")]
324    IfMatch,
325    #[doc(alias = "GST_RTSP_HDR_ACCEPT_CHARSET")]
326    AcceptCharset,
327    #[doc(alias = "GST_RTSP_HDR_SUPPORTED")]
328    Supported,
329    #[doc(alias = "GST_RTSP_HDR_VARY")]
330    Vary,
331    #[doc(alias = "GST_RTSP_HDR_X_ACCELERATE_STREAMING")]
332    XAccelerateStreaming,
333    #[doc(alias = "GST_RTSP_HDR_X_ACCEPT_AUTHENT")]
334    XAcceptAuthent,
335    #[doc(alias = "GST_RTSP_HDR_X_ACCEPT_PROXY_AUTHENT")]
336    XAcceptProxyAuthent,
337    #[doc(alias = "GST_RTSP_HDR_X_BROADCAST_ID")]
338    XBroadcastId,
339    #[doc(alias = "GST_RTSP_HDR_X_BURST_STREAMING")]
340    XBurstStreaming,
341    #[doc(alias = "GST_RTSP_HDR_X_NOTICE")]
342    XNotice,
343    #[doc(alias = "GST_RTSP_HDR_X_PLAYER_LAG_TIME")]
344    XPlayerLagTime,
345    #[doc(alias = "GST_RTSP_HDR_X_PLAYLIST")]
346    XPlaylist,
347    #[doc(alias = "GST_RTSP_HDR_X_PLAYLIST_CHANGE_NOTICE")]
348    XPlaylistChangeNotice,
349    #[doc(alias = "GST_RTSP_HDR_X_PLAYLIST_GEN_ID")]
350    XPlaylistGenId,
351    #[doc(alias = "GST_RTSP_HDR_X_PLAYLIST_SEEK_ID")]
352    XPlaylistSeekId,
353    #[doc(alias = "GST_RTSP_HDR_X_PROXY_CLIENT_AGENT")]
354    XProxyClientAgent,
355    #[doc(alias = "GST_RTSP_HDR_X_PROXY_CLIENT_VERB")]
356    XProxyClientVerb,
357    #[doc(alias = "GST_RTSP_HDR_X_RECEDING_PLAYLISTCHANGE")]
358    XRecedingPlaylistchange,
359    #[doc(alias = "GST_RTSP_HDR_X_RTP_INFO")]
360    XRtpInfo,
361    #[doc(alias = "GST_RTSP_HDR_X_STARTUPPROFILE")]
362    XStartupprofile,
363    #[doc(alias = "GST_RTSP_HDR_TIMESTAMP")]
364    Timestamp,
365    #[doc(alias = "GST_RTSP_HDR_AUTHENTICATION_INFO")]
366    AuthenticationInfo,
367    #[doc(alias = "GST_RTSP_HDR_HOST")]
368    Host,
369    #[doc(alias = "GST_RTSP_HDR_PRAGMA")]
370    Pragma,
371    #[doc(alias = "GST_RTSP_HDR_X_SERVER_IP_ADDRESS")]
372    XServerIpAddress,
373    #[doc(alias = "GST_RTSP_HDR_X_SESSIONCOOKIE")]
374    XSessioncookie,
375    #[doc(alias = "GST_RTSP_HDR_RTCP_INTERVAL")]
376    RtcpInterval,
377    #[doc(alias = "GST_RTSP_HDR_KEYMGMT")]
378    Keymgmt,
379    #[doc(alias = "GST_RTSP_HDR_PIPELINED_REQUESTS")]
380    PipelinedRequests,
381    #[doc(alias = "GST_RTSP_HDR_MEDIA_PROPERTIES")]
382    MediaProperties,
383    #[doc(alias = "GST_RTSP_HDR_SEEK_STYLE")]
384    SeekStyle,
385    #[doc(alias = "GST_RTSP_HDR_ACCEPT_RANGES")]
386    AcceptRanges,
387    #[doc(alias = "GST_RTSP_HDR_FRAMES")]
388    Frames,
389    #[doc(alias = "GST_RTSP_HDR_RATE_CONTROL")]
390    RateControl,
391    #[doc(alias = "GST_RTSP_HDR_LAST")]
392    Last,
393    #[doc(hidden)]
394    __Unknown(i32),
395}
396
397#[doc(hidden)]
398impl IntoGlib for RTSPHeaderField {
399    type GlibType = ffi::GstRTSPHeaderField;
400
401    fn into_glib(self) -> ffi::GstRTSPHeaderField {
402        match self {
403            Self::Invalid => ffi::GST_RTSP_HDR_INVALID,
404            Self::Accept => ffi::GST_RTSP_HDR_ACCEPT,
405            Self::AcceptEncoding => ffi::GST_RTSP_HDR_ACCEPT_ENCODING,
406            Self::AcceptLanguage => ffi::GST_RTSP_HDR_ACCEPT_LANGUAGE,
407            Self::Allow => ffi::GST_RTSP_HDR_ALLOW,
408            Self::Authorization => ffi::GST_RTSP_HDR_AUTHORIZATION,
409            Self::Bandwidth => ffi::GST_RTSP_HDR_BANDWIDTH,
410            Self::Blocksize => ffi::GST_RTSP_HDR_BLOCKSIZE,
411            Self::CacheControl => ffi::GST_RTSP_HDR_CACHE_CONTROL,
412            Self::Conference => ffi::GST_RTSP_HDR_CONFERENCE,
413            Self::Connection => ffi::GST_RTSP_HDR_CONNECTION,
414            Self::ContentBase => ffi::GST_RTSP_HDR_CONTENT_BASE,
415            Self::ContentEncoding => ffi::GST_RTSP_HDR_CONTENT_ENCODING,
416            Self::ContentLanguage => ffi::GST_RTSP_HDR_CONTENT_LANGUAGE,
417            Self::ContentLength => ffi::GST_RTSP_HDR_CONTENT_LENGTH,
418            Self::ContentLocation => ffi::GST_RTSP_HDR_CONTENT_LOCATION,
419            Self::ContentType => ffi::GST_RTSP_HDR_CONTENT_TYPE,
420            Self::Cseq => ffi::GST_RTSP_HDR_CSEQ,
421            Self::Date => ffi::GST_RTSP_HDR_DATE,
422            Self::Expires => ffi::GST_RTSP_HDR_EXPIRES,
423            Self::From => ffi::GST_RTSP_HDR_FROM,
424            Self::IfModifiedSince => ffi::GST_RTSP_HDR_IF_MODIFIED_SINCE,
425            Self::LastModified => ffi::GST_RTSP_HDR_LAST_MODIFIED,
426            Self::ProxyAuthenticate => ffi::GST_RTSP_HDR_PROXY_AUTHENTICATE,
427            Self::ProxyRequire => ffi::GST_RTSP_HDR_PROXY_REQUIRE,
428            Self::Public => ffi::GST_RTSP_HDR_PUBLIC,
429            Self::Range => ffi::GST_RTSP_HDR_RANGE,
430            Self::Referer => ffi::GST_RTSP_HDR_REFERER,
431            Self::Require => ffi::GST_RTSP_HDR_REQUIRE,
432            Self::RetryAfter => ffi::GST_RTSP_HDR_RETRY_AFTER,
433            Self::RtpInfo => ffi::GST_RTSP_HDR_RTP_INFO,
434            Self::Scale => ffi::GST_RTSP_HDR_SCALE,
435            Self::Session => ffi::GST_RTSP_HDR_SESSION,
436            Self::Server => ffi::GST_RTSP_HDR_SERVER,
437            Self::Speed => ffi::GST_RTSP_HDR_SPEED,
438            Self::Transport => ffi::GST_RTSP_HDR_TRANSPORT,
439            Self::Unsupported => ffi::GST_RTSP_HDR_UNSUPPORTED,
440            Self::UserAgent => ffi::GST_RTSP_HDR_USER_AGENT,
441            Self::Via => ffi::GST_RTSP_HDR_VIA,
442            Self::WwwAuthenticate => ffi::GST_RTSP_HDR_WWW_AUTHENTICATE,
443            Self::ClientChallenge => ffi::GST_RTSP_HDR_CLIENT_CHALLENGE,
444            Self::RealChallenge1 => ffi::GST_RTSP_HDR_REAL_CHALLENGE1,
445            Self::RealChallenge2 => ffi::GST_RTSP_HDR_REAL_CHALLENGE2,
446            Self::RealChallenge3 => ffi::GST_RTSP_HDR_REAL_CHALLENGE3,
447            Self::Subscribe => ffi::GST_RTSP_HDR_SUBSCRIBE,
448            Self::Alert => ffi::GST_RTSP_HDR_ALERT,
449            Self::ClientId => ffi::GST_RTSP_HDR_CLIENT_ID,
450            Self::CompanyId => ffi::GST_RTSP_HDR_COMPANY_ID,
451            Self::Guid => ffi::GST_RTSP_HDR_GUID,
452            Self::RegionData => ffi::GST_RTSP_HDR_REGION_DATA,
453            Self::MaxAsmWidth => ffi::GST_RTSP_HDR_MAX_ASM_WIDTH,
454            Self::Language => ffi::GST_RTSP_HDR_LANGUAGE,
455            Self::PlayerStartTime => ffi::GST_RTSP_HDR_PLAYER_START_TIME,
456            Self::Location => ffi::GST_RTSP_HDR_LOCATION,
457            Self::Etag => ffi::GST_RTSP_HDR_ETAG,
458            Self::IfMatch => ffi::GST_RTSP_HDR_IF_MATCH,
459            Self::AcceptCharset => ffi::GST_RTSP_HDR_ACCEPT_CHARSET,
460            Self::Supported => ffi::GST_RTSP_HDR_SUPPORTED,
461            Self::Vary => ffi::GST_RTSP_HDR_VARY,
462            Self::XAccelerateStreaming => ffi::GST_RTSP_HDR_X_ACCELERATE_STREAMING,
463            Self::XAcceptAuthent => ffi::GST_RTSP_HDR_X_ACCEPT_AUTHENT,
464            Self::XAcceptProxyAuthent => ffi::GST_RTSP_HDR_X_ACCEPT_PROXY_AUTHENT,
465            Self::XBroadcastId => ffi::GST_RTSP_HDR_X_BROADCAST_ID,
466            Self::XBurstStreaming => ffi::GST_RTSP_HDR_X_BURST_STREAMING,
467            Self::XNotice => ffi::GST_RTSP_HDR_X_NOTICE,
468            Self::XPlayerLagTime => ffi::GST_RTSP_HDR_X_PLAYER_LAG_TIME,
469            Self::XPlaylist => ffi::GST_RTSP_HDR_X_PLAYLIST,
470            Self::XPlaylistChangeNotice => ffi::GST_RTSP_HDR_X_PLAYLIST_CHANGE_NOTICE,
471            Self::XPlaylistGenId => ffi::GST_RTSP_HDR_X_PLAYLIST_GEN_ID,
472            Self::XPlaylistSeekId => ffi::GST_RTSP_HDR_X_PLAYLIST_SEEK_ID,
473            Self::XProxyClientAgent => ffi::GST_RTSP_HDR_X_PROXY_CLIENT_AGENT,
474            Self::XProxyClientVerb => ffi::GST_RTSP_HDR_X_PROXY_CLIENT_VERB,
475            Self::XRecedingPlaylistchange => ffi::GST_RTSP_HDR_X_RECEDING_PLAYLISTCHANGE,
476            Self::XRtpInfo => ffi::GST_RTSP_HDR_X_RTP_INFO,
477            Self::XStartupprofile => ffi::GST_RTSP_HDR_X_STARTUPPROFILE,
478            Self::Timestamp => ffi::GST_RTSP_HDR_TIMESTAMP,
479            Self::AuthenticationInfo => ffi::GST_RTSP_HDR_AUTHENTICATION_INFO,
480            Self::Host => ffi::GST_RTSP_HDR_HOST,
481            Self::Pragma => ffi::GST_RTSP_HDR_PRAGMA,
482            Self::XServerIpAddress => ffi::GST_RTSP_HDR_X_SERVER_IP_ADDRESS,
483            Self::XSessioncookie => ffi::GST_RTSP_HDR_X_SESSIONCOOKIE,
484            Self::RtcpInterval => ffi::GST_RTSP_HDR_RTCP_INTERVAL,
485            Self::Keymgmt => ffi::GST_RTSP_HDR_KEYMGMT,
486            Self::PipelinedRequests => ffi::GST_RTSP_HDR_PIPELINED_REQUESTS,
487            Self::MediaProperties => ffi::GST_RTSP_HDR_MEDIA_PROPERTIES,
488            Self::SeekStyle => ffi::GST_RTSP_HDR_SEEK_STYLE,
489            Self::AcceptRanges => ffi::GST_RTSP_HDR_ACCEPT_RANGES,
490            Self::Frames => ffi::GST_RTSP_HDR_FRAMES,
491            Self::RateControl => ffi::GST_RTSP_HDR_RATE_CONTROL,
492            Self::Last => ffi::GST_RTSP_HDR_LAST,
493            Self::__Unknown(value) => value,
494        }
495    }
496}
497
498#[doc(hidden)]
499impl FromGlib<ffi::GstRTSPHeaderField> for RTSPHeaderField {
500    unsafe fn from_glib(value: ffi::GstRTSPHeaderField) -> Self {
501        skip_assert_initialized!();
502
503        match value {
504            ffi::GST_RTSP_HDR_INVALID => Self::Invalid,
505            ffi::GST_RTSP_HDR_ACCEPT => Self::Accept,
506            ffi::GST_RTSP_HDR_ACCEPT_ENCODING => Self::AcceptEncoding,
507            ffi::GST_RTSP_HDR_ACCEPT_LANGUAGE => Self::AcceptLanguage,
508            ffi::GST_RTSP_HDR_ALLOW => Self::Allow,
509            ffi::GST_RTSP_HDR_AUTHORIZATION => Self::Authorization,
510            ffi::GST_RTSP_HDR_BANDWIDTH => Self::Bandwidth,
511            ffi::GST_RTSP_HDR_BLOCKSIZE => Self::Blocksize,
512            ffi::GST_RTSP_HDR_CACHE_CONTROL => Self::CacheControl,
513            ffi::GST_RTSP_HDR_CONFERENCE => Self::Conference,
514            ffi::GST_RTSP_HDR_CONNECTION => Self::Connection,
515            ffi::GST_RTSP_HDR_CONTENT_BASE => Self::ContentBase,
516            ffi::GST_RTSP_HDR_CONTENT_ENCODING => Self::ContentEncoding,
517            ffi::GST_RTSP_HDR_CONTENT_LANGUAGE => Self::ContentLanguage,
518            ffi::GST_RTSP_HDR_CONTENT_LENGTH => Self::ContentLength,
519            ffi::GST_RTSP_HDR_CONTENT_LOCATION => Self::ContentLocation,
520            ffi::GST_RTSP_HDR_CONTENT_TYPE => Self::ContentType,
521            ffi::GST_RTSP_HDR_CSEQ => Self::Cseq,
522            ffi::GST_RTSP_HDR_DATE => Self::Date,
523            ffi::GST_RTSP_HDR_EXPIRES => Self::Expires,
524            ffi::GST_RTSP_HDR_FROM => Self::From,
525            ffi::GST_RTSP_HDR_IF_MODIFIED_SINCE => Self::IfModifiedSince,
526            ffi::GST_RTSP_HDR_LAST_MODIFIED => Self::LastModified,
527            ffi::GST_RTSP_HDR_PROXY_AUTHENTICATE => Self::ProxyAuthenticate,
528            ffi::GST_RTSP_HDR_PROXY_REQUIRE => Self::ProxyRequire,
529            ffi::GST_RTSP_HDR_PUBLIC => Self::Public,
530            ffi::GST_RTSP_HDR_RANGE => Self::Range,
531            ffi::GST_RTSP_HDR_REFERER => Self::Referer,
532            ffi::GST_RTSP_HDR_REQUIRE => Self::Require,
533            ffi::GST_RTSP_HDR_RETRY_AFTER => Self::RetryAfter,
534            ffi::GST_RTSP_HDR_RTP_INFO => Self::RtpInfo,
535            ffi::GST_RTSP_HDR_SCALE => Self::Scale,
536            ffi::GST_RTSP_HDR_SESSION => Self::Session,
537            ffi::GST_RTSP_HDR_SERVER => Self::Server,
538            ffi::GST_RTSP_HDR_SPEED => Self::Speed,
539            ffi::GST_RTSP_HDR_TRANSPORT => Self::Transport,
540            ffi::GST_RTSP_HDR_UNSUPPORTED => Self::Unsupported,
541            ffi::GST_RTSP_HDR_USER_AGENT => Self::UserAgent,
542            ffi::GST_RTSP_HDR_VIA => Self::Via,
543            ffi::GST_RTSP_HDR_WWW_AUTHENTICATE => Self::WwwAuthenticate,
544            ffi::GST_RTSP_HDR_CLIENT_CHALLENGE => Self::ClientChallenge,
545            ffi::GST_RTSP_HDR_REAL_CHALLENGE1 => Self::RealChallenge1,
546            ffi::GST_RTSP_HDR_REAL_CHALLENGE2 => Self::RealChallenge2,
547            ffi::GST_RTSP_HDR_REAL_CHALLENGE3 => Self::RealChallenge3,
548            ffi::GST_RTSP_HDR_SUBSCRIBE => Self::Subscribe,
549            ffi::GST_RTSP_HDR_ALERT => Self::Alert,
550            ffi::GST_RTSP_HDR_CLIENT_ID => Self::ClientId,
551            ffi::GST_RTSP_HDR_COMPANY_ID => Self::CompanyId,
552            ffi::GST_RTSP_HDR_GUID => Self::Guid,
553            ffi::GST_RTSP_HDR_REGION_DATA => Self::RegionData,
554            ffi::GST_RTSP_HDR_MAX_ASM_WIDTH => Self::MaxAsmWidth,
555            ffi::GST_RTSP_HDR_LANGUAGE => Self::Language,
556            ffi::GST_RTSP_HDR_PLAYER_START_TIME => Self::PlayerStartTime,
557            ffi::GST_RTSP_HDR_LOCATION => Self::Location,
558            ffi::GST_RTSP_HDR_ETAG => Self::Etag,
559            ffi::GST_RTSP_HDR_IF_MATCH => Self::IfMatch,
560            ffi::GST_RTSP_HDR_ACCEPT_CHARSET => Self::AcceptCharset,
561            ffi::GST_RTSP_HDR_SUPPORTED => Self::Supported,
562            ffi::GST_RTSP_HDR_VARY => Self::Vary,
563            ffi::GST_RTSP_HDR_X_ACCELERATE_STREAMING => Self::XAccelerateStreaming,
564            ffi::GST_RTSP_HDR_X_ACCEPT_AUTHENT => Self::XAcceptAuthent,
565            ffi::GST_RTSP_HDR_X_ACCEPT_PROXY_AUTHENT => Self::XAcceptProxyAuthent,
566            ffi::GST_RTSP_HDR_X_BROADCAST_ID => Self::XBroadcastId,
567            ffi::GST_RTSP_HDR_X_BURST_STREAMING => Self::XBurstStreaming,
568            ffi::GST_RTSP_HDR_X_NOTICE => Self::XNotice,
569            ffi::GST_RTSP_HDR_X_PLAYER_LAG_TIME => Self::XPlayerLagTime,
570            ffi::GST_RTSP_HDR_X_PLAYLIST => Self::XPlaylist,
571            ffi::GST_RTSP_HDR_X_PLAYLIST_CHANGE_NOTICE => Self::XPlaylistChangeNotice,
572            ffi::GST_RTSP_HDR_X_PLAYLIST_GEN_ID => Self::XPlaylistGenId,
573            ffi::GST_RTSP_HDR_X_PLAYLIST_SEEK_ID => Self::XPlaylistSeekId,
574            ffi::GST_RTSP_HDR_X_PROXY_CLIENT_AGENT => Self::XProxyClientAgent,
575            ffi::GST_RTSP_HDR_X_PROXY_CLIENT_VERB => Self::XProxyClientVerb,
576            ffi::GST_RTSP_HDR_X_RECEDING_PLAYLISTCHANGE => Self::XRecedingPlaylistchange,
577            ffi::GST_RTSP_HDR_X_RTP_INFO => Self::XRtpInfo,
578            ffi::GST_RTSP_HDR_X_STARTUPPROFILE => Self::XStartupprofile,
579            ffi::GST_RTSP_HDR_TIMESTAMP => Self::Timestamp,
580            ffi::GST_RTSP_HDR_AUTHENTICATION_INFO => Self::AuthenticationInfo,
581            ffi::GST_RTSP_HDR_HOST => Self::Host,
582            ffi::GST_RTSP_HDR_PRAGMA => Self::Pragma,
583            ffi::GST_RTSP_HDR_X_SERVER_IP_ADDRESS => Self::XServerIpAddress,
584            ffi::GST_RTSP_HDR_X_SESSIONCOOKIE => Self::XSessioncookie,
585            ffi::GST_RTSP_HDR_RTCP_INTERVAL => Self::RtcpInterval,
586            ffi::GST_RTSP_HDR_KEYMGMT => Self::Keymgmt,
587            ffi::GST_RTSP_HDR_PIPELINED_REQUESTS => Self::PipelinedRequests,
588            ffi::GST_RTSP_HDR_MEDIA_PROPERTIES => Self::MediaProperties,
589            ffi::GST_RTSP_HDR_SEEK_STYLE => Self::SeekStyle,
590            ffi::GST_RTSP_HDR_ACCEPT_RANGES => Self::AcceptRanges,
591            ffi::GST_RTSP_HDR_FRAMES => Self::Frames,
592            ffi::GST_RTSP_HDR_RATE_CONTROL => Self::RateControl,
593            ffi::GST_RTSP_HDR_LAST => Self::Last,
594            value => Self::__Unknown(value),
595        }
596    }
597}
598
599impl StaticType for RTSPHeaderField {
600    #[inline]
601    #[doc(alias = "gst_rtsp_header_field_get_type")]
602    fn static_type() -> glib::Type {
603        unsafe { from_glib(ffi::gst_rtsp_header_field_get_type()) }
604    }
605}
606
607impl glib::HasParamSpec for RTSPHeaderField {
608    type ParamSpec = glib::ParamSpecEnum;
609    type SetValue = Self;
610    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
611
612    fn param_spec_builder() -> Self::BuilderFn {
613        Self::ParamSpec::builder_with_default
614    }
615}
616
617impl glib::value::ValueType for RTSPHeaderField {
618    type Type = Self;
619}
620
621unsafe impl<'a> glib::value::FromValue<'a> for RTSPHeaderField {
622    type Checker = glib::value::GenericValueTypeChecker<Self>;
623
624    #[inline]
625    unsafe fn from_value(value: &'a glib::Value) -> Self {
626        skip_assert_initialized!();
627        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
628    }
629}
630
631impl ToValue for RTSPHeaderField {
632    #[inline]
633    fn to_value(&self) -> glib::Value {
634        let mut value = glib::Value::for_value_type::<Self>();
635        unsafe {
636            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
637        }
638        value
639    }
640
641    #[inline]
642    fn value_type(&self) -> glib::Type {
643        Self::static_type()
644    }
645}
646
647impl From<RTSPHeaderField> for glib::Value {
648    #[inline]
649    fn from(v: RTSPHeaderField) -> Self {
650        skip_assert_initialized!();
651        ToValue::to_value(&v)
652    }
653}
654
655#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
656#[non_exhaustive]
657#[doc(alias = "GstRTSPMsgType")]
658pub enum RTSPMsgType {
659    #[doc(alias = "GST_RTSP_MESSAGE_INVALID")]
660    Invalid,
661    #[doc(alias = "GST_RTSP_MESSAGE_REQUEST")]
662    Request,
663    #[doc(alias = "GST_RTSP_MESSAGE_RESPONSE")]
664    Response,
665    #[doc(alias = "GST_RTSP_MESSAGE_HTTP_REQUEST")]
666    HttpRequest,
667    #[doc(alias = "GST_RTSP_MESSAGE_HTTP_RESPONSE")]
668    HttpResponse,
669    #[doc(alias = "GST_RTSP_MESSAGE_DATA")]
670    Data,
671    #[doc(hidden)]
672    __Unknown(i32),
673}
674
675#[doc(hidden)]
676impl IntoGlib for RTSPMsgType {
677    type GlibType = ffi::GstRTSPMsgType;
678
679    #[inline]
680    fn into_glib(self) -> ffi::GstRTSPMsgType {
681        match self {
682            Self::Invalid => ffi::GST_RTSP_MESSAGE_INVALID,
683            Self::Request => ffi::GST_RTSP_MESSAGE_REQUEST,
684            Self::Response => ffi::GST_RTSP_MESSAGE_RESPONSE,
685            Self::HttpRequest => ffi::GST_RTSP_MESSAGE_HTTP_REQUEST,
686            Self::HttpResponse => ffi::GST_RTSP_MESSAGE_HTTP_RESPONSE,
687            Self::Data => ffi::GST_RTSP_MESSAGE_DATA,
688            Self::__Unknown(value) => value,
689        }
690    }
691}
692
693#[doc(hidden)]
694impl FromGlib<ffi::GstRTSPMsgType> for RTSPMsgType {
695    #[inline]
696    unsafe fn from_glib(value: ffi::GstRTSPMsgType) -> Self {
697        skip_assert_initialized!();
698
699        match value {
700            ffi::GST_RTSP_MESSAGE_INVALID => Self::Invalid,
701            ffi::GST_RTSP_MESSAGE_REQUEST => Self::Request,
702            ffi::GST_RTSP_MESSAGE_RESPONSE => Self::Response,
703            ffi::GST_RTSP_MESSAGE_HTTP_REQUEST => Self::HttpRequest,
704            ffi::GST_RTSP_MESSAGE_HTTP_RESPONSE => Self::HttpResponse,
705            ffi::GST_RTSP_MESSAGE_DATA => Self::Data,
706            value => Self::__Unknown(value),
707        }
708    }
709}
710
711impl StaticType for RTSPMsgType {
712    #[inline]
713    #[doc(alias = "gst_rtsp_msg_type_get_type")]
714    fn static_type() -> glib::Type {
715        unsafe { from_glib(ffi::gst_rtsp_msg_type_get_type()) }
716    }
717}
718
719impl glib::HasParamSpec for RTSPMsgType {
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 RTSPMsgType {
730    type Type = Self;
731}
732
733unsafe impl<'a> glib::value::FromValue<'a> for RTSPMsgType {
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        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
740    }
741}
742
743impl ToValue for RTSPMsgType {
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<RTSPMsgType> for glib::Value {
760    #[inline]
761    fn from(v: RTSPMsgType) -> 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 = "GstRTSPRangeUnit")]
770pub enum RTSPRangeUnit {
771    #[doc(alias = "GST_RTSP_RANGE_SMPTE")]
772    Smpte,
773    #[doc(alias = "GST_RTSP_RANGE_SMPTE_30_DROP")]
774    Smpte30Drop,
775    #[doc(alias = "GST_RTSP_RANGE_SMPTE_25")]
776    Smpte25,
777    #[doc(alias = "GST_RTSP_RANGE_NPT")]
778    Npt,
779    #[doc(alias = "GST_RTSP_RANGE_CLOCK")]
780    Clock,
781    #[doc(hidden)]
782    __Unknown(i32),
783}
784
785#[doc(hidden)]
786impl IntoGlib for RTSPRangeUnit {
787    type GlibType = ffi::GstRTSPRangeUnit;
788
789    #[inline]
790    fn into_glib(self) -> ffi::GstRTSPRangeUnit {
791        match self {
792            Self::Smpte => ffi::GST_RTSP_RANGE_SMPTE,
793            Self::Smpte30Drop => ffi::GST_RTSP_RANGE_SMPTE_30_DROP,
794            Self::Smpte25 => ffi::GST_RTSP_RANGE_SMPTE_25,
795            Self::Npt => ffi::GST_RTSP_RANGE_NPT,
796            Self::Clock => ffi::GST_RTSP_RANGE_CLOCK,
797            Self::__Unknown(value) => value,
798        }
799    }
800}
801
802#[doc(hidden)]
803impl FromGlib<ffi::GstRTSPRangeUnit> for RTSPRangeUnit {
804    #[inline]
805    unsafe fn from_glib(value: ffi::GstRTSPRangeUnit) -> Self {
806        skip_assert_initialized!();
807
808        match value {
809            ffi::GST_RTSP_RANGE_SMPTE => Self::Smpte,
810            ffi::GST_RTSP_RANGE_SMPTE_30_DROP => Self::Smpte30Drop,
811            ffi::GST_RTSP_RANGE_SMPTE_25 => Self::Smpte25,
812            ffi::GST_RTSP_RANGE_NPT => Self::Npt,
813            ffi::GST_RTSP_RANGE_CLOCK => Self::Clock,
814            value => Self::__Unknown(value),
815        }
816    }
817}
818
819impl StaticType for RTSPRangeUnit {
820    #[inline]
821    #[doc(alias = "gst_rtsp_range_unit_get_type")]
822    fn static_type() -> glib::Type {
823        unsafe { from_glib(ffi::gst_rtsp_range_unit_get_type()) }
824    }
825}
826
827impl glib::HasParamSpec for RTSPRangeUnit {
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 RTSPRangeUnit {
838    type Type = Self;
839}
840
841unsafe impl<'a> glib::value::FromValue<'a> for RTSPRangeUnit {
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        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
848    }
849}
850
851impl ToValue for RTSPRangeUnit {
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<RTSPRangeUnit> for glib::Value {
868    #[inline]
869    fn from(v: RTSPRangeUnit) -> Self {
870        skip_assert_initialized!();
871        ToValue::to_value(&v)
872    }
873}
874
875#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
876#[non_exhaustive]
877#[doc(alias = "GstRTSPResult")]
878pub enum RTSPResult {
879    #[doc(alias = "GST_RTSP_OK")]
880    Ok,
881    #[cfg(feature = "v1_24")]
882    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
883    #[doc(alias = "GST_RTSP_OK_REDIRECT")]
884    OkRedirect,
885    #[doc(alias = "GST_RTSP_ERROR")]
886    Error,
887    #[doc(alias = "GST_RTSP_EINVAL")]
888    Einval,
889    #[doc(alias = "GST_RTSP_EINTR")]
890    Eintr,
891    #[doc(alias = "GST_RTSP_ENOMEM")]
892    Enomem,
893    #[doc(alias = "GST_RTSP_ERESOLV")]
894    Eresolv,
895    #[doc(alias = "GST_RTSP_ENOTIMPL")]
896    Enotimpl,
897    #[doc(alias = "GST_RTSP_ESYS")]
898    Esys,
899    #[doc(alias = "GST_RTSP_EPARSE")]
900    Eparse,
901    #[doc(alias = "GST_RTSP_EWSASTART")]
902    Ewsastart,
903    #[doc(alias = "GST_RTSP_EWSAVERSION")]
904    Ewsaversion,
905    #[doc(alias = "GST_RTSP_EEOF")]
906    Eeof,
907    #[doc(alias = "GST_RTSP_ENET")]
908    Enet,
909    #[doc(alias = "GST_RTSP_ENOTIP")]
910    Enotip,
911    #[doc(alias = "GST_RTSP_ETIMEOUT")]
912    Etimeout,
913    #[doc(alias = "GST_RTSP_ETGET")]
914    Etget,
915    #[doc(alias = "GST_RTSP_ETPOST")]
916    Etpost,
917    #[doc(alias = "GST_RTSP_ELAST")]
918    Elast,
919    #[doc(hidden)]
920    __Unknown(i32),
921}
922
923#[doc(hidden)]
924impl IntoGlib for RTSPResult {
925    type GlibType = ffi::GstRTSPResult;
926
927    fn into_glib(self) -> ffi::GstRTSPResult {
928        match self {
929            Self::Ok => ffi::GST_RTSP_OK,
930            #[cfg(feature = "v1_24")]
931            Self::OkRedirect => ffi::GST_RTSP_OK_REDIRECT,
932            Self::Error => ffi::GST_RTSP_ERROR,
933            Self::Einval => ffi::GST_RTSP_EINVAL,
934            Self::Eintr => ffi::GST_RTSP_EINTR,
935            Self::Enomem => ffi::GST_RTSP_ENOMEM,
936            Self::Eresolv => ffi::GST_RTSP_ERESOLV,
937            Self::Enotimpl => ffi::GST_RTSP_ENOTIMPL,
938            Self::Esys => ffi::GST_RTSP_ESYS,
939            Self::Eparse => ffi::GST_RTSP_EPARSE,
940            Self::Ewsastart => ffi::GST_RTSP_EWSASTART,
941            Self::Ewsaversion => ffi::GST_RTSP_EWSAVERSION,
942            Self::Eeof => ffi::GST_RTSP_EEOF,
943            Self::Enet => ffi::GST_RTSP_ENET,
944            Self::Enotip => ffi::GST_RTSP_ENOTIP,
945            Self::Etimeout => ffi::GST_RTSP_ETIMEOUT,
946            Self::Etget => ffi::GST_RTSP_ETGET,
947            Self::Etpost => ffi::GST_RTSP_ETPOST,
948            Self::Elast => ffi::GST_RTSP_ELAST,
949            Self::__Unknown(value) => value,
950        }
951    }
952}
953
954#[doc(hidden)]
955impl FromGlib<ffi::GstRTSPResult> for RTSPResult {
956    unsafe fn from_glib(value: ffi::GstRTSPResult) -> Self {
957        skip_assert_initialized!();
958
959        match value {
960            ffi::GST_RTSP_OK => Self::Ok,
961            #[cfg(feature = "v1_24")]
962            ffi::GST_RTSP_OK_REDIRECT => Self::OkRedirect,
963            ffi::GST_RTSP_ERROR => Self::Error,
964            ffi::GST_RTSP_EINVAL => Self::Einval,
965            ffi::GST_RTSP_EINTR => Self::Eintr,
966            ffi::GST_RTSP_ENOMEM => Self::Enomem,
967            ffi::GST_RTSP_ERESOLV => Self::Eresolv,
968            ffi::GST_RTSP_ENOTIMPL => Self::Enotimpl,
969            ffi::GST_RTSP_ESYS => Self::Esys,
970            ffi::GST_RTSP_EPARSE => Self::Eparse,
971            ffi::GST_RTSP_EWSASTART => Self::Ewsastart,
972            ffi::GST_RTSP_EWSAVERSION => Self::Ewsaversion,
973            ffi::GST_RTSP_EEOF => Self::Eeof,
974            ffi::GST_RTSP_ENET => Self::Enet,
975            ffi::GST_RTSP_ENOTIP => Self::Enotip,
976            ffi::GST_RTSP_ETIMEOUT => Self::Etimeout,
977            ffi::GST_RTSP_ETGET => Self::Etget,
978            ffi::GST_RTSP_ETPOST => Self::Etpost,
979            ffi::GST_RTSP_ELAST => Self::Elast,
980            value => Self::__Unknown(value),
981        }
982    }
983}
984
985impl StaticType for RTSPResult {
986    #[inline]
987    #[doc(alias = "gst_rtsp_result_get_type")]
988    fn static_type() -> glib::Type {
989        unsafe { from_glib(ffi::gst_rtsp_result_get_type()) }
990    }
991}
992
993impl glib::HasParamSpec for RTSPResult {
994    type ParamSpec = glib::ParamSpecEnum;
995    type SetValue = Self;
996    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
997
998    fn param_spec_builder() -> Self::BuilderFn {
999        Self::ParamSpec::builder_with_default
1000    }
1001}
1002
1003impl glib::value::ValueType for RTSPResult {
1004    type Type = Self;
1005}
1006
1007unsafe impl<'a> glib::value::FromValue<'a> for RTSPResult {
1008    type Checker = glib::value::GenericValueTypeChecker<Self>;
1009
1010    #[inline]
1011    unsafe fn from_value(value: &'a glib::Value) -> Self {
1012        skip_assert_initialized!();
1013        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1014    }
1015}
1016
1017impl ToValue for RTSPResult {
1018    #[inline]
1019    fn to_value(&self) -> glib::Value {
1020        let mut value = glib::Value::for_value_type::<Self>();
1021        unsafe {
1022            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1023        }
1024        value
1025    }
1026
1027    #[inline]
1028    fn value_type(&self) -> glib::Type {
1029        Self::static_type()
1030    }
1031}
1032
1033impl From<RTSPResult> for glib::Value {
1034    #[inline]
1035    fn from(v: RTSPResult) -> Self {
1036        skip_assert_initialized!();
1037        ToValue::to_value(&v)
1038    }
1039}
1040
1041#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1042#[non_exhaustive]
1043#[doc(alias = "GstRTSPState")]
1044pub enum RTSPState {
1045    #[doc(alias = "GST_RTSP_STATE_INVALID")]
1046    Invalid,
1047    #[doc(alias = "GST_RTSP_STATE_INIT")]
1048    Init,
1049    #[doc(alias = "GST_RTSP_STATE_READY")]
1050    Ready,
1051    #[doc(alias = "GST_RTSP_STATE_SEEKING")]
1052    Seeking,
1053    #[doc(alias = "GST_RTSP_STATE_PLAYING")]
1054    Playing,
1055    #[doc(alias = "GST_RTSP_STATE_RECORDING")]
1056    Recording,
1057    #[doc(hidden)]
1058    __Unknown(i32),
1059}
1060
1061#[doc(hidden)]
1062impl IntoGlib for RTSPState {
1063    type GlibType = ffi::GstRTSPState;
1064
1065    #[inline]
1066    fn into_glib(self) -> ffi::GstRTSPState {
1067        match self {
1068            Self::Invalid => ffi::GST_RTSP_STATE_INVALID,
1069            Self::Init => ffi::GST_RTSP_STATE_INIT,
1070            Self::Ready => ffi::GST_RTSP_STATE_READY,
1071            Self::Seeking => ffi::GST_RTSP_STATE_SEEKING,
1072            Self::Playing => ffi::GST_RTSP_STATE_PLAYING,
1073            Self::Recording => ffi::GST_RTSP_STATE_RECORDING,
1074            Self::__Unknown(value) => value,
1075        }
1076    }
1077}
1078
1079#[doc(hidden)]
1080impl FromGlib<ffi::GstRTSPState> for RTSPState {
1081    #[inline]
1082    unsafe fn from_glib(value: ffi::GstRTSPState) -> Self {
1083        skip_assert_initialized!();
1084
1085        match value {
1086            ffi::GST_RTSP_STATE_INVALID => Self::Invalid,
1087            ffi::GST_RTSP_STATE_INIT => Self::Init,
1088            ffi::GST_RTSP_STATE_READY => Self::Ready,
1089            ffi::GST_RTSP_STATE_SEEKING => Self::Seeking,
1090            ffi::GST_RTSP_STATE_PLAYING => Self::Playing,
1091            ffi::GST_RTSP_STATE_RECORDING => Self::Recording,
1092            value => Self::__Unknown(value),
1093        }
1094    }
1095}
1096
1097impl StaticType for RTSPState {
1098    #[inline]
1099    #[doc(alias = "gst_rtsp_state_get_type")]
1100    fn static_type() -> glib::Type {
1101        unsafe { from_glib(ffi::gst_rtsp_state_get_type()) }
1102    }
1103}
1104
1105impl glib::HasParamSpec for RTSPState {
1106    type ParamSpec = glib::ParamSpecEnum;
1107    type SetValue = Self;
1108    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1109
1110    fn param_spec_builder() -> Self::BuilderFn {
1111        Self::ParamSpec::builder_with_default
1112    }
1113}
1114
1115impl glib::value::ValueType for RTSPState {
1116    type Type = Self;
1117}
1118
1119unsafe impl<'a> glib::value::FromValue<'a> for RTSPState {
1120    type Checker = glib::value::GenericValueTypeChecker<Self>;
1121
1122    #[inline]
1123    unsafe fn from_value(value: &'a glib::Value) -> Self {
1124        skip_assert_initialized!();
1125        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1126    }
1127}
1128
1129impl ToValue for RTSPState {
1130    #[inline]
1131    fn to_value(&self) -> glib::Value {
1132        let mut value = glib::Value::for_value_type::<Self>();
1133        unsafe {
1134            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1135        }
1136        value
1137    }
1138
1139    #[inline]
1140    fn value_type(&self) -> glib::Type {
1141        Self::static_type()
1142    }
1143}
1144
1145impl From<RTSPState> for glib::Value {
1146    #[inline]
1147    fn from(v: RTSPState) -> Self {
1148        skip_assert_initialized!();
1149        ToValue::to_value(&v)
1150    }
1151}
1152
1153#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1154#[non_exhaustive]
1155#[doc(alias = "GstRTSPStatusCode")]
1156pub enum RTSPStatusCode {
1157    #[doc(alias = "GST_RTSP_STS_INVALID")]
1158    Invalid,
1159    #[doc(alias = "GST_RTSP_STS_CONTINUE")]
1160    Continue,
1161    #[doc(alias = "GST_RTSP_STS_OK")]
1162    Ok,
1163    #[doc(alias = "GST_RTSP_STS_CREATED")]
1164    Created,
1165    #[doc(alias = "GST_RTSP_STS_LOW_ON_STORAGE")]
1166    LowOnStorage,
1167    #[doc(alias = "GST_RTSP_STS_MULTIPLE_CHOICES")]
1168    MultipleChoices,
1169    #[doc(alias = "GST_RTSP_STS_MOVED_PERMANENTLY")]
1170    MovedPermanently,
1171    #[doc(alias = "GST_RTSP_STS_MOVE_TEMPORARILY")]
1172    MoveTemporarily,
1173    #[doc(alias = "GST_RTSP_STS_SEE_OTHER")]
1174    SeeOther,
1175    #[doc(alias = "GST_RTSP_STS_NOT_MODIFIED")]
1176    NotModified,
1177    #[doc(alias = "GST_RTSP_STS_USE_PROXY")]
1178    UseProxy,
1179    #[cfg(feature = "v1_24")]
1180    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
1181    #[doc(alias = "GST_RTSP_STS_REDIRECT_TEMPORARILY")]
1182    RedirectTemporarily,
1183    #[cfg(feature = "v1_24")]
1184    #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
1185    #[doc(alias = "GST_RTSP_STS_REDIRECT_PERMANENTLY")]
1186    RedirectPermanently,
1187    #[doc(alias = "GST_RTSP_STS_BAD_REQUEST")]
1188    BadRequest,
1189    #[doc(alias = "GST_RTSP_STS_UNAUTHORIZED")]
1190    Unauthorized,
1191    #[doc(alias = "GST_RTSP_STS_PAYMENT_REQUIRED")]
1192    PaymentRequired,
1193    #[doc(alias = "GST_RTSP_STS_FORBIDDEN")]
1194    Forbidden,
1195    #[doc(alias = "GST_RTSP_STS_NOT_FOUND")]
1196    NotFound,
1197    #[doc(alias = "GST_RTSP_STS_METHOD_NOT_ALLOWED")]
1198    MethodNotAllowed,
1199    #[doc(alias = "GST_RTSP_STS_NOT_ACCEPTABLE")]
1200    NotAcceptable,
1201    #[doc(alias = "GST_RTSP_STS_PROXY_AUTH_REQUIRED")]
1202    ProxyAuthRequired,
1203    #[doc(alias = "GST_RTSP_STS_REQUEST_TIMEOUT")]
1204    RequestTimeout,
1205    #[doc(alias = "GST_RTSP_STS_GONE")]
1206    Gone,
1207    #[doc(alias = "GST_RTSP_STS_LENGTH_REQUIRED")]
1208    LengthRequired,
1209    #[doc(alias = "GST_RTSP_STS_PRECONDITION_FAILED")]
1210    PreconditionFailed,
1211    #[doc(alias = "GST_RTSP_STS_REQUEST_ENTITY_TOO_LARGE")]
1212    RequestEntityTooLarge,
1213    #[doc(alias = "GST_RTSP_STS_REQUEST_URI_TOO_LARGE")]
1214    RequestUriTooLarge,
1215    #[doc(alias = "GST_RTSP_STS_UNSUPPORTED_MEDIA_TYPE")]
1216    UnsupportedMediaType,
1217    #[doc(alias = "GST_RTSP_STS_PARAMETER_NOT_UNDERSTOOD")]
1218    ParameterNotUnderstood,
1219    #[doc(alias = "GST_RTSP_STS_CONFERENCE_NOT_FOUND")]
1220    ConferenceNotFound,
1221    #[doc(alias = "GST_RTSP_STS_NOT_ENOUGH_BANDWIDTH")]
1222    NotEnoughBandwidth,
1223    #[doc(alias = "GST_RTSP_STS_SESSION_NOT_FOUND")]
1224    SessionNotFound,
1225    #[doc(alias = "GST_RTSP_STS_METHOD_NOT_VALID_IN_THIS_STATE")]
1226    MethodNotValidInThisState,
1227    #[doc(alias = "GST_RTSP_STS_HEADER_FIELD_NOT_VALID_FOR_RESOURCE")]
1228    HeaderFieldNotValidForResource,
1229    #[doc(alias = "GST_RTSP_STS_INVALID_RANGE")]
1230    InvalidRange,
1231    #[doc(alias = "GST_RTSP_STS_PARAMETER_IS_READONLY")]
1232    ParameterIsReadonly,
1233    #[doc(alias = "GST_RTSP_STS_AGGREGATE_OPERATION_NOT_ALLOWED")]
1234    AggregateOperationNotAllowed,
1235    #[doc(alias = "GST_RTSP_STS_ONLY_AGGREGATE_OPERATION_ALLOWED")]
1236    OnlyAggregateOperationAllowed,
1237    #[doc(alias = "GST_RTSP_STS_UNSUPPORTED_TRANSPORT")]
1238    UnsupportedTransport,
1239    #[doc(alias = "GST_RTSP_STS_DESTINATION_UNREACHABLE")]
1240    DestinationUnreachable,
1241    #[doc(alias = "GST_RTSP_STS_KEY_MANAGEMENT_FAILURE")]
1242    KeyManagementFailure,
1243    #[doc(alias = "GST_RTSP_STS_INTERNAL_SERVER_ERROR")]
1244    InternalServerError,
1245    #[doc(alias = "GST_RTSP_STS_NOT_IMPLEMENTED")]
1246    NotImplemented,
1247    #[doc(alias = "GST_RTSP_STS_BAD_GATEWAY")]
1248    BadGateway,
1249    #[doc(alias = "GST_RTSP_STS_SERVICE_UNAVAILABLE")]
1250    ServiceUnavailable,
1251    #[doc(alias = "GST_RTSP_STS_GATEWAY_TIMEOUT")]
1252    GatewayTimeout,
1253    #[doc(alias = "GST_RTSP_STS_RTSP_VERSION_NOT_SUPPORTED")]
1254    RtspVersionNotSupported,
1255    #[doc(alias = "GST_RTSP_STS_OPTION_NOT_SUPPORTED")]
1256    OptionNotSupported,
1257    #[doc(hidden)]
1258    __Unknown(i32),
1259}
1260
1261#[doc(hidden)]
1262impl IntoGlib for RTSPStatusCode {
1263    type GlibType = ffi::GstRTSPStatusCode;
1264
1265    fn into_glib(self) -> ffi::GstRTSPStatusCode {
1266        match self {
1267            Self::Invalid => ffi::GST_RTSP_STS_INVALID,
1268            Self::Continue => ffi::GST_RTSP_STS_CONTINUE,
1269            Self::Ok => ffi::GST_RTSP_STS_OK,
1270            Self::Created => ffi::GST_RTSP_STS_CREATED,
1271            Self::LowOnStorage => ffi::GST_RTSP_STS_LOW_ON_STORAGE,
1272            Self::MultipleChoices => ffi::GST_RTSP_STS_MULTIPLE_CHOICES,
1273            Self::MovedPermanently => ffi::GST_RTSP_STS_MOVED_PERMANENTLY,
1274            Self::MoveTemporarily => ffi::GST_RTSP_STS_MOVE_TEMPORARILY,
1275            Self::SeeOther => ffi::GST_RTSP_STS_SEE_OTHER,
1276            Self::NotModified => ffi::GST_RTSP_STS_NOT_MODIFIED,
1277            Self::UseProxy => ffi::GST_RTSP_STS_USE_PROXY,
1278            #[cfg(feature = "v1_24")]
1279            Self::RedirectTemporarily => ffi::GST_RTSP_STS_REDIRECT_TEMPORARILY,
1280            #[cfg(feature = "v1_24")]
1281            Self::RedirectPermanently => ffi::GST_RTSP_STS_REDIRECT_PERMANENTLY,
1282            Self::BadRequest => ffi::GST_RTSP_STS_BAD_REQUEST,
1283            Self::Unauthorized => ffi::GST_RTSP_STS_UNAUTHORIZED,
1284            Self::PaymentRequired => ffi::GST_RTSP_STS_PAYMENT_REQUIRED,
1285            Self::Forbidden => ffi::GST_RTSP_STS_FORBIDDEN,
1286            Self::NotFound => ffi::GST_RTSP_STS_NOT_FOUND,
1287            Self::MethodNotAllowed => ffi::GST_RTSP_STS_METHOD_NOT_ALLOWED,
1288            Self::NotAcceptable => ffi::GST_RTSP_STS_NOT_ACCEPTABLE,
1289            Self::ProxyAuthRequired => ffi::GST_RTSP_STS_PROXY_AUTH_REQUIRED,
1290            Self::RequestTimeout => ffi::GST_RTSP_STS_REQUEST_TIMEOUT,
1291            Self::Gone => ffi::GST_RTSP_STS_GONE,
1292            Self::LengthRequired => ffi::GST_RTSP_STS_LENGTH_REQUIRED,
1293            Self::PreconditionFailed => ffi::GST_RTSP_STS_PRECONDITION_FAILED,
1294            Self::RequestEntityTooLarge => ffi::GST_RTSP_STS_REQUEST_ENTITY_TOO_LARGE,
1295            Self::RequestUriTooLarge => ffi::GST_RTSP_STS_REQUEST_URI_TOO_LARGE,
1296            Self::UnsupportedMediaType => ffi::GST_RTSP_STS_UNSUPPORTED_MEDIA_TYPE,
1297            Self::ParameterNotUnderstood => ffi::GST_RTSP_STS_PARAMETER_NOT_UNDERSTOOD,
1298            Self::ConferenceNotFound => ffi::GST_RTSP_STS_CONFERENCE_NOT_FOUND,
1299            Self::NotEnoughBandwidth => ffi::GST_RTSP_STS_NOT_ENOUGH_BANDWIDTH,
1300            Self::SessionNotFound => ffi::GST_RTSP_STS_SESSION_NOT_FOUND,
1301            Self::MethodNotValidInThisState => ffi::GST_RTSP_STS_METHOD_NOT_VALID_IN_THIS_STATE,
1302            Self::HeaderFieldNotValidForResource => {
1303                ffi::GST_RTSP_STS_HEADER_FIELD_NOT_VALID_FOR_RESOURCE
1304            }
1305            Self::InvalidRange => ffi::GST_RTSP_STS_INVALID_RANGE,
1306            Self::ParameterIsReadonly => ffi::GST_RTSP_STS_PARAMETER_IS_READONLY,
1307            Self::AggregateOperationNotAllowed => ffi::GST_RTSP_STS_AGGREGATE_OPERATION_NOT_ALLOWED,
1308            Self::OnlyAggregateOperationAllowed => {
1309                ffi::GST_RTSP_STS_ONLY_AGGREGATE_OPERATION_ALLOWED
1310            }
1311            Self::UnsupportedTransport => ffi::GST_RTSP_STS_UNSUPPORTED_TRANSPORT,
1312            Self::DestinationUnreachable => ffi::GST_RTSP_STS_DESTINATION_UNREACHABLE,
1313            Self::KeyManagementFailure => ffi::GST_RTSP_STS_KEY_MANAGEMENT_FAILURE,
1314            Self::InternalServerError => ffi::GST_RTSP_STS_INTERNAL_SERVER_ERROR,
1315            Self::NotImplemented => ffi::GST_RTSP_STS_NOT_IMPLEMENTED,
1316            Self::BadGateway => ffi::GST_RTSP_STS_BAD_GATEWAY,
1317            Self::ServiceUnavailable => ffi::GST_RTSP_STS_SERVICE_UNAVAILABLE,
1318            Self::GatewayTimeout => ffi::GST_RTSP_STS_GATEWAY_TIMEOUT,
1319            Self::RtspVersionNotSupported => ffi::GST_RTSP_STS_RTSP_VERSION_NOT_SUPPORTED,
1320            Self::OptionNotSupported => ffi::GST_RTSP_STS_OPTION_NOT_SUPPORTED,
1321            Self::__Unknown(value) => value,
1322        }
1323    }
1324}
1325
1326#[doc(hidden)]
1327impl FromGlib<ffi::GstRTSPStatusCode> for RTSPStatusCode {
1328    unsafe fn from_glib(value: ffi::GstRTSPStatusCode) -> Self {
1329        skip_assert_initialized!();
1330
1331        match value {
1332            ffi::GST_RTSP_STS_INVALID => Self::Invalid,
1333            ffi::GST_RTSP_STS_CONTINUE => Self::Continue,
1334            ffi::GST_RTSP_STS_OK => Self::Ok,
1335            ffi::GST_RTSP_STS_CREATED => Self::Created,
1336            ffi::GST_RTSP_STS_LOW_ON_STORAGE => Self::LowOnStorage,
1337            ffi::GST_RTSP_STS_MULTIPLE_CHOICES => Self::MultipleChoices,
1338            ffi::GST_RTSP_STS_MOVED_PERMANENTLY => Self::MovedPermanently,
1339            ffi::GST_RTSP_STS_MOVE_TEMPORARILY => Self::MoveTemporarily,
1340            ffi::GST_RTSP_STS_SEE_OTHER => Self::SeeOther,
1341            ffi::GST_RTSP_STS_NOT_MODIFIED => Self::NotModified,
1342            ffi::GST_RTSP_STS_USE_PROXY => Self::UseProxy,
1343            #[cfg(feature = "v1_24")]
1344            ffi::GST_RTSP_STS_REDIRECT_TEMPORARILY => Self::RedirectTemporarily,
1345            #[cfg(feature = "v1_24")]
1346            ffi::GST_RTSP_STS_REDIRECT_PERMANENTLY => Self::RedirectPermanently,
1347            ffi::GST_RTSP_STS_BAD_REQUEST => Self::BadRequest,
1348            ffi::GST_RTSP_STS_UNAUTHORIZED => Self::Unauthorized,
1349            ffi::GST_RTSP_STS_PAYMENT_REQUIRED => Self::PaymentRequired,
1350            ffi::GST_RTSP_STS_FORBIDDEN => Self::Forbidden,
1351            ffi::GST_RTSP_STS_NOT_FOUND => Self::NotFound,
1352            ffi::GST_RTSP_STS_METHOD_NOT_ALLOWED => Self::MethodNotAllowed,
1353            ffi::GST_RTSP_STS_NOT_ACCEPTABLE => Self::NotAcceptable,
1354            ffi::GST_RTSP_STS_PROXY_AUTH_REQUIRED => Self::ProxyAuthRequired,
1355            ffi::GST_RTSP_STS_REQUEST_TIMEOUT => Self::RequestTimeout,
1356            ffi::GST_RTSP_STS_GONE => Self::Gone,
1357            ffi::GST_RTSP_STS_LENGTH_REQUIRED => Self::LengthRequired,
1358            ffi::GST_RTSP_STS_PRECONDITION_FAILED => Self::PreconditionFailed,
1359            ffi::GST_RTSP_STS_REQUEST_ENTITY_TOO_LARGE => Self::RequestEntityTooLarge,
1360            ffi::GST_RTSP_STS_REQUEST_URI_TOO_LARGE => Self::RequestUriTooLarge,
1361            ffi::GST_RTSP_STS_UNSUPPORTED_MEDIA_TYPE => Self::UnsupportedMediaType,
1362            ffi::GST_RTSP_STS_PARAMETER_NOT_UNDERSTOOD => Self::ParameterNotUnderstood,
1363            ffi::GST_RTSP_STS_CONFERENCE_NOT_FOUND => Self::ConferenceNotFound,
1364            ffi::GST_RTSP_STS_NOT_ENOUGH_BANDWIDTH => Self::NotEnoughBandwidth,
1365            ffi::GST_RTSP_STS_SESSION_NOT_FOUND => Self::SessionNotFound,
1366            ffi::GST_RTSP_STS_METHOD_NOT_VALID_IN_THIS_STATE => Self::MethodNotValidInThisState,
1367            ffi::GST_RTSP_STS_HEADER_FIELD_NOT_VALID_FOR_RESOURCE => {
1368                Self::HeaderFieldNotValidForResource
1369            }
1370            ffi::GST_RTSP_STS_INVALID_RANGE => Self::InvalidRange,
1371            ffi::GST_RTSP_STS_PARAMETER_IS_READONLY => Self::ParameterIsReadonly,
1372            ffi::GST_RTSP_STS_AGGREGATE_OPERATION_NOT_ALLOWED => Self::AggregateOperationNotAllowed,
1373            ffi::GST_RTSP_STS_ONLY_AGGREGATE_OPERATION_ALLOWED => {
1374                Self::OnlyAggregateOperationAllowed
1375            }
1376            ffi::GST_RTSP_STS_UNSUPPORTED_TRANSPORT => Self::UnsupportedTransport,
1377            ffi::GST_RTSP_STS_DESTINATION_UNREACHABLE => Self::DestinationUnreachable,
1378            ffi::GST_RTSP_STS_KEY_MANAGEMENT_FAILURE => Self::KeyManagementFailure,
1379            ffi::GST_RTSP_STS_INTERNAL_SERVER_ERROR => Self::InternalServerError,
1380            ffi::GST_RTSP_STS_NOT_IMPLEMENTED => Self::NotImplemented,
1381            ffi::GST_RTSP_STS_BAD_GATEWAY => Self::BadGateway,
1382            ffi::GST_RTSP_STS_SERVICE_UNAVAILABLE => Self::ServiceUnavailable,
1383            ffi::GST_RTSP_STS_GATEWAY_TIMEOUT => Self::GatewayTimeout,
1384            ffi::GST_RTSP_STS_RTSP_VERSION_NOT_SUPPORTED => Self::RtspVersionNotSupported,
1385            ffi::GST_RTSP_STS_OPTION_NOT_SUPPORTED => Self::OptionNotSupported,
1386            value => Self::__Unknown(value),
1387        }
1388    }
1389}
1390
1391impl StaticType for RTSPStatusCode {
1392    #[inline]
1393    #[doc(alias = "gst_rtsp_status_code_get_type")]
1394    fn static_type() -> glib::Type {
1395        unsafe { from_glib(ffi::gst_rtsp_status_code_get_type()) }
1396    }
1397}
1398
1399impl glib::HasParamSpec for RTSPStatusCode {
1400    type ParamSpec = glib::ParamSpecEnum;
1401    type SetValue = Self;
1402    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1403
1404    fn param_spec_builder() -> Self::BuilderFn {
1405        Self::ParamSpec::builder_with_default
1406    }
1407}
1408
1409impl glib::value::ValueType for RTSPStatusCode {
1410    type Type = Self;
1411}
1412
1413unsafe impl<'a> glib::value::FromValue<'a> for RTSPStatusCode {
1414    type Checker = glib::value::GenericValueTypeChecker<Self>;
1415
1416    #[inline]
1417    unsafe fn from_value(value: &'a glib::Value) -> Self {
1418        skip_assert_initialized!();
1419        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1420    }
1421}
1422
1423impl ToValue for RTSPStatusCode {
1424    #[inline]
1425    fn to_value(&self) -> glib::Value {
1426        let mut value = glib::Value::for_value_type::<Self>();
1427        unsafe {
1428            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1429        }
1430        value
1431    }
1432
1433    #[inline]
1434    fn value_type(&self) -> glib::Type {
1435        Self::static_type()
1436    }
1437}
1438
1439impl From<RTSPStatusCode> for glib::Value {
1440    #[inline]
1441    fn from(v: RTSPStatusCode) -> Self {
1442        skip_assert_initialized!();
1443        ToValue::to_value(&v)
1444    }
1445}
1446
1447#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1448#[non_exhaustive]
1449#[doc(alias = "GstRTSPTimeType")]
1450pub enum RTSPTimeType {
1451    #[doc(alias = "GST_RTSP_TIME_SECONDS")]
1452    Seconds,
1453    #[doc(alias = "GST_RTSP_TIME_NOW")]
1454    Now,
1455    #[doc(alias = "GST_RTSP_TIME_END")]
1456    End,
1457    #[doc(alias = "GST_RTSP_TIME_FRAMES")]
1458    Frames,
1459    #[doc(alias = "GST_RTSP_TIME_UTC")]
1460    Utc,
1461    #[doc(hidden)]
1462    __Unknown(i32),
1463}
1464
1465#[doc(hidden)]
1466impl IntoGlib for RTSPTimeType {
1467    type GlibType = ffi::GstRTSPTimeType;
1468
1469    #[inline]
1470    fn into_glib(self) -> ffi::GstRTSPTimeType {
1471        match self {
1472            Self::Seconds => ffi::GST_RTSP_TIME_SECONDS,
1473            Self::Now => ffi::GST_RTSP_TIME_NOW,
1474            Self::End => ffi::GST_RTSP_TIME_END,
1475            Self::Frames => ffi::GST_RTSP_TIME_FRAMES,
1476            Self::Utc => ffi::GST_RTSP_TIME_UTC,
1477            Self::__Unknown(value) => value,
1478        }
1479    }
1480}
1481
1482#[doc(hidden)]
1483impl FromGlib<ffi::GstRTSPTimeType> for RTSPTimeType {
1484    #[inline]
1485    unsafe fn from_glib(value: ffi::GstRTSPTimeType) -> Self {
1486        skip_assert_initialized!();
1487
1488        match value {
1489            ffi::GST_RTSP_TIME_SECONDS => Self::Seconds,
1490            ffi::GST_RTSP_TIME_NOW => Self::Now,
1491            ffi::GST_RTSP_TIME_END => Self::End,
1492            ffi::GST_RTSP_TIME_FRAMES => Self::Frames,
1493            ffi::GST_RTSP_TIME_UTC => Self::Utc,
1494            value => Self::__Unknown(value),
1495        }
1496    }
1497}
1498
1499impl StaticType for RTSPTimeType {
1500    #[inline]
1501    #[doc(alias = "gst_rtsp_time_type_get_type")]
1502    fn static_type() -> glib::Type {
1503        unsafe { from_glib(ffi::gst_rtsp_time_type_get_type()) }
1504    }
1505}
1506
1507impl glib::HasParamSpec for RTSPTimeType {
1508    type ParamSpec = glib::ParamSpecEnum;
1509    type SetValue = Self;
1510    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1511
1512    fn param_spec_builder() -> Self::BuilderFn {
1513        Self::ParamSpec::builder_with_default
1514    }
1515}
1516
1517impl glib::value::ValueType for RTSPTimeType {
1518    type Type = Self;
1519}
1520
1521unsafe impl<'a> glib::value::FromValue<'a> for RTSPTimeType {
1522    type Checker = glib::value::GenericValueTypeChecker<Self>;
1523
1524    #[inline]
1525    unsafe fn from_value(value: &'a glib::Value) -> Self {
1526        skip_assert_initialized!();
1527        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1528    }
1529}
1530
1531impl ToValue for RTSPTimeType {
1532    #[inline]
1533    fn to_value(&self) -> glib::Value {
1534        let mut value = glib::Value::for_value_type::<Self>();
1535        unsafe {
1536            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1537        }
1538        value
1539    }
1540
1541    #[inline]
1542    fn value_type(&self) -> glib::Type {
1543        Self::static_type()
1544    }
1545}
1546
1547impl From<RTSPTimeType> for glib::Value {
1548    #[inline]
1549    fn from(v: RTSPTimeType) -> Self {
1550        skip_assert_initialized!();
1551        ToValue::to_value(&v)
1552    }
1553}