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