mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2024-11-29 23:11:01 +00:00
Use the Into trait instead of custom into_*() functions
This commit is contained in:
parent
80a2c5033f
commit
07ce2d64b8
4 changed files with 30 additions and 16 deletions
|
@ -405,7 +405,7 @@ impl Demuxer {
|
||||||
}
|
}
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
return flow_error.to_native();
|
return flow_error.into();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -465,7 +465,7 @@ impl Demuxer {
|
||||||
}
|
}
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
return flow_error.to_native();
|
return flow_error.into();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -109,7 +109,7 @@ impl Sink {
|
||||||
|
|
||||||
if uri_storage.1 {
|
if uri_storage.1 {
|
||||||
return Err(
|
return Err(
|
||||||
UriError::new(gst::URIError::BadState, "Already started".to_string()).into_error(),
|
UriError::new(gst::URIError::BadState, "Already started".to_string()).into(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -118,14 +118,14 @@ impl Sink {
|
||||||
if let Some(uri_str) = uri_str {
|
if let Some(uri_str) = uri_str {
|
||||||
match Url::parse(uri_str.as_str()) {
|
match Url::parse(uri_str.as_str()) {
|
||||||
Ok(uri) => {
|
Ok(uri) => {
|
||||||
try!((self.uri_validator)(&uri).map_err(|e| e.into_error()));
|
try!((self.uri_validator)(&uri).map_err(|e| e.into()));
|
||||||
uri_storage.0 = Some(uri);
|
uri_storage.0 = Some(uri);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
Err(err) => Err(UriError::new(
|
Err(err) => Err(UriError::new(
|
||||||
gst::URIError::BadUri,
|
gst::URIError::BadUri,
|
||||||
format!("Failed to parse URI '{}': {}", uri_str, err),
|
format!("Failed to parse URI '{}': {}", uri_str, err),
|
||||||
).into_error()),
|
).into()),
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Ok(())
|
Ok(())
|
||||||
|
@ -228,7 +228,7 @@ impl BaseSinkImpl<BaseSink> for Sink {
|
||||||
}
|
}
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
flow_error.to_native()
|
flow_error.into()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -128,7 +128,7 @@ impl Source {
|
||||||
|
|
||||||
if uri_storage.1 {
|
if uri_storage.1 {
|
||||||
return Err(
|
return Err(
|
||||||
UriError::new(gst::URIError::BadState, "Already started".to_string()).into_error(),
|
UriError::new(gst::URIError::BadState, "Already started".to_string()).into(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -137,14 +137,14 @@ impl Source {
|
||||||
if let Some(uri_str) = uri_str {
|
if let Some(uri_str) = uri_str {
|
||||||
match Url::parse(uri_str.as_str()) {
|
match Url::parse(uri_str.as_str()) {
|
||||||
Ok(uri) => {
|
Ok(uri) => {
|
||||||
try!((self.uri_validator)(&uri).map_err(|e| e.into_error()));
|
try!((self.uri_validator)(&uri).map_err(|e| e.into()));
|
||||||
uri_storage.0 = Some(uri);
|
uri_storage.0 = Some(uri);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
Err(err) => Err(UriError::new(
|
Err(err) => Err(UriError::new(
|
||||||
gst::URIError::BadUri,
|
gst::URIError::BadUri,
|
||||||
format!("Failed to parse URI '{}': {}", uri_str, err),
|
format!("Failed to parse URI '{}': {}", uri_str, err),
|
||||||
).into_error()),
|
).into()),
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Ok(())
|
Ok(())
|
||||||
|
@ -275,7 +275,7 @@ impl BaseSrcImpl<BaseSrc> for Source {
|
||||||
}
|
}
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
flow_error.to_native()
|
flow_error.into()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ use glib::translate::ToGlibPtr;
|
||||||
use gst;
|
use gst;
|
||||||
use gst::prelude::*;
|
use gst::prelude::*;
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Eq)]
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||||
pub enum FlowError {
|
pub enum FlowError {
|
||||||
Flushing,
|
Flushing,
|
||||||
Eos,
|
Eos,
|
||||||
|
@ -26,8 +26,14 @@ pub enum FlowError {
|
||||||
Error(gst::ErrorMessage),
|
Error(gst::ErrorMessage),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl FlowError {
|
impl Into<gst::FlowReturn> for FlowError {
|
||||||
pub fn to_native(&self) -> gst::FlowReturn {
|
fn into(self) -> gst::FlowReturn {
|
||||||
|
(&self).into()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'a> Into<gst::FlowReturn> for &'a FlowError {
|
||||||
|
fn into(self) -> gst::FlowReturn {
|
||||||
match *self {
|
match *self {
|
||||||
FlowError::Flushing => gst::FlowReturn::Flushing,
|
FlowError::Flushing => gst::FlowReturn::Flushing,
|
||||||
FlowError::Eos => gst::FlowReturn::Eos,
|
FlowError::Eos => gst::FlowReturn::Eos,
|
||||||
|
@ -67,10 +73,10 @@ pub struct UriError {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl UriError {
|
impl UriError {
|
||||||
pub fn new(error: gst::URIError, message: String) -> UriError {
|
pub fn new<T: Into<String>>(error: gst::URIError, message: T) -> UriError {
|
||||||
UriError {
|
UriError {
|
||||||
error: error,
|
error: error,
|
||||||
message: message,
|
message: message.into(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,8 +87,16 @@ impl UriError {
|
||||||
pub fn error(&self) -> gst::URIError {
|
pub fn error(&self) -> gst::URIError {
|
||||||
self.error
|
self.error
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn into_error(self) -> glib::Error {
|
impl Into<glib::Error> for UriError {
|
||||||
|
fn into(self) -> glib::Error {
|
||||||
|
(&self).into()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'a> Into<glib::Error> for &'a UriError {
|
||||||
|
fn into(self) -> glib::Error {
|
||||||
glib::Error::new(self.error, &self.message)
|
glib::Error::new(self.error, &self.message)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue