1use 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}