mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2024-11-25 11:01:10 +00:00
audio,video: Manual enum to_string returns 'static; add NULL check
This commit is contained in:
parent
9ff39bae6f
commit
040772ab61
3 changed files with 26 additions and 13 deletions
|
@ -118,14 +118,17 @@ impl crate::AudioFormat {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn to_str<'a>(self) -> &'a str {
|
pub fn to_str<'a>(self) -> &'a str {
|
||||||
if self == crate::AudioFormat::Unknown {
|
if self == Self::Unknown {
|
||||||
return "UNKNOWN";
|
return "UNKNOWN";
|
||||||
}
|
}
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
CStr::from_ptr(ffi::gst_audio_format_to_string(self.to_glib()))
|
CStr::from_ptr(
|
||||||
.to_str()
|
ffi::gst_audio_format_to_string(self.to_glib())
|
||||||
.unwrap()
|
.as_ref()
|
||||||
|
.expect("gst_audio_format_to_string returned NULL"),
|
||||||
|
)
|
||||||
|
.to_str()
|
||||||
|
.expect("gst_audio_format_to_string returned an invalid string")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -313,14 +313,17 @@ impl crate::VideoFormat {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn to_str<'a>(self) -> &'a str {
|
pub fn to_str<'a>(self) -> &'a str {
|
||||||
if self == crate::VideoFormat::Unknown {
|
if self == Self::Unknown {
|
||||||
return "UNKNOWN";
|
return "UNKNOWN";
|
||||||
}
|
}
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
CStr::from_ptr(ffi::gst_video_format_to_string(self.to_glib()))
|
CStr::from_ptr(
|
||||||
.to_str()
|
ffi::gst_video_format_to_string(self.to_glib())
|
||||||
.unwrap()
|
.as_ref()
|
||||||
|
.expect("gst_video_format_to_string returned NULL"),
|
||||||
|
)
|
||||||
|
.to_str()
|
||||||
|
.expect("gst_video_format_to_string returned an invalid string")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -935,10 +935,17 @@ impl glib::translate::FromGlibPtrFull<*mut ffi::GstVideoInfo> for VideoInfo {
|
||||||
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
|
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
|
||||||
impl crate::VideoFieldOrder {
|
impl crate::VideoFieldOrder {
|
||||||
pub fn to_str<'a>(self) -> &'a str {
|
pub fn to_str<'a>(self) -> &'a str {
|
||||||
|
if self == Self::Unknown {
|
||||||
|
return "UNKNOWN";
|
||||||
|
}
|
||||||
unsafe {
|
unsafe {
|
||||||
CStr::from_ptr(ffi::gst_video_field_order_to_string(self.to_glib()))
|
CStr::from_ptr(
|
||||||
.to_str()
|
ffi::gst_video_field_order_to_string(self.to_glib())
|
||||||
.unwrap()
|
.as_ref()
|
||||||
|
.expect("gst_video_field_order_to_string returned NULL"),
|
||||||
|
)
|
||||||
|
.to_str()
|
||||||
|
.expect("gst_video_field_order_to_string returned an invalid string")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue