forked from mirrors/gstreamer-rs
Don't return &'static references from functions but give them a generic lifetime
https://github.com/rust-lang/rust/pull/42417#issue-233404573
This commit is contained in:
parent
15d05ed3ac
commit
380fb319ba
7 changed files with 13 additions and 13 deletions
|
@ -39,7 +39,7 @@ impl ::AudioFormat {
|
|||
unsafe { from_glib(ffi::gst_audio_format_from_string(s.to_glib_none().0)) }
|
||||
}
|
||||
|
||||
pub fn to_string(&self) -> &'static str {
|
||||
pub fn to_string<'a>(&self) -> &'a str {
|
||||
unsafe {
|
||||
CStr::from_ptr(ffi::gst_audio_format_to_string(self.to_glib()))
|
||||
.to_str()
|
||||
|
|
|
@ -66,11 +66,11 @@ impl AudioFormatInfo {
|
|||
from_glib(self.0.format)
|
||||
}
|
||||
|
||||
pub fn name(&self) -> &'static str {
|
||||
pub fn name<'a>(&self) -> &'a str {
|
||||
unsafe { CStr::from_ptr(self.0.name).to_str().unwrap() }
|
||||
}
|
||||
|
||||
pub fn description(&self) -> &'static str {
|
||||
pub fn description<'a>(&self) -> &'a str {
|
||||
unsafe { CStr::from_ptr(self.0.description).to_str().unwrap() }
|
||||
}
|
||||
|
||||
|
@ -94,7 +94,7 @@ impl AudioFormatInfo {
|
|||
from_glib(self.0.unpack_format)
|
||||
}
|
||||
|
||||
pub fn silence(&self) -> &'static [u8] {
|
||||
pub fn silence<'a>(&self) -> &'a [u8] {
|
||||
&self.0.silence
|
||||
}
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@ impl ::VideoFormat {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn to_string(&self) -> &'static str {
|
||||
pub fn to_string<'a>(&self) -> &'a str {
|
||||
unsafe {
|
||||
CStr::from_ptr(ffi::gst_video_format_to_string(self.to_glib()))
|
||||
.to_str()
|
||||
|
|
|
@ -33,11 +33,11 @@ impl VideoFormatInfo {
|
|||
from_glib(self.0.format)
|
||||
}
|
||||
|
||||
pub fn name(&self) -> &'static str {
|
||||
pub fn name<'a>(&self) -> &'a str {
|
||||
unsafe { CStr::from_ptr(self.0.name).to_str().unwrap() }
|
||||
}
|
||||
|
||||
pub fn description(&self) -> &'static str {
|
||||
pub fn description<'a>(&self) -> &'a str {
|
||||
unsafe { CStr::from_ptr(self.0.description).to_str().unwrap() }
|
||||
}
|
||||
|
||||
|
|
|
@ -17,11 +17,11 @@ use ffi;
|
|||
use gobject_ffi;
|
||||
|
||||
pub trait DeviceProviderExtManual {
|
||||
fn get_metadata(&self, key: &str) -> Option<&'static str>;
|
||||
fn get_metadata<'a>(&self, key: &str) -> Option<&'a str>;
|
||||
}
|
||||
|
||||
impl<O: IsA<DeviceProvider>> DeviceProviderExtManual for O {
|
||||
fn get_metadata(&self, key: &str) -> Option<&'static str> {
|
||||
fn get_metadata<'a>(&self, key: &str) -> Option<&'a str> {
|
||||
unsafe {
|
||||
let klass = (*(self.to_glib_none().0 as *mut gobject_ffi::GTypeInstance)).g_class as
|
||||
*mut ffi::GstDeviceProviderClass;
|
||||
|
|
|
@ -54,7 +54,7 @@ pub trait ElementExtManual {
|
|||
|
||||
fn send_event(&self, event: Event) -> bool;
|
||||
|
||||
fn get_metadata(&self, key: &str) -> Option<&'static str>;
|
||||
fn get_metadata<'a>(&self, key: &str) -> Option<&'a str>;
|
||||
|
||||
fn get_pad_template(&self, name: &str) -> Option<PadTemplate>;
|
||||
fn get_pad_template_list(&self) -> Vec<PadTemplate>;
|
||||
|
@ -79,7 +79,7 @@ impl<O: IsA<Element>> ElementExtManual for O {
|
|||
}
|
||||
}
|
||||
|
||||
fn get_metadata(&self, key: &str) -> Option<&'static str> {
|
||||
fn get_metadata<'a>(&self, key: &str) -> Option<&'a str> {
|
||||
unsafe {
|
||||
let klass = (*(self.to_glib_none().0 as *mut gobject_ffi::GTypeInstance)).g_class as
|
||||
*mut ffi::GstElementClass;
|
||||
|
|
|
@ -24,7 +24,7 @@ use Sample;
|
|||
|
||||
pub trait Tag<'a> {
|
||||
type TagType: FromValueOptional<'a> + SetValue;
|
||||
fn tag_name() -> &'static str;
|
||||
fn tag_name<'b>() -> &'b str;
|
||||
}
|
||||
|
||||
macro_rules! impl_tag(
|
||||
|
@ -32,7 +32,7 @@ macro_rules! impl_tag(
|
|||
pub struct $name;
|
||||
impl<'a> Tag<'a> for $name {
|
||||
type TagType = $t;
|
||||
fn tag_name() -> &'static str {
|
||||
fn tag_name<'b>() -> &'b str {
|
||||
$tag
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue