Commit 4117c01f authored by Sebastian Dröge's avatar Sebastian Dröge 🍵

Run everything through latest rustfmt-nightly

parent 1fbc5e76
......@@ -32,7 +32,8 @@ struct ErrorMessage {
src: String,
error: String,
debug: Option<String>,
#[cause] cause: glib::Error,
#[cause]
cause: glib::Error,
}
fn create_pipeline() -> Result<gst::Pipeline, Error> {
......
......@@ -28,7 +28,8 @@ struct ErrorMessage {
src: String,
error: String,
debug: Option<String>,
#[cause] cause: glib::Error,
#[cause]
cause: glib::Error,
}
const WIDTH: usize = 320;
......
......@@ -28,7 +28,8 @@ struct ErrorMessage {
src: String,
error: String,
debug: Option<String>,
#[cause] cause: glib::Error,
#[cause]
cause: glib::Error,
}
fn example_main() -> Result<(), Error> {
......
......@@ -38,7 +38,8 @@ struct ErrorMessage {
src: String,
error: String,
debug: Option<String>,
#[cause] cause: glib::Error,
#[cause]
cause: glib::Error,
}
fn make_element<'a, P: Into<Option<&'a str>>>(
......@@ -121,16 +122,7 @@ fn example_main() -> Result<(), Error> {
let scale = make_element("videoscale", None)?;
let filter = make_element("capsfilter", None)?;
pipeline.add_many(&[
&src,
&netsim,
&rtpbin,
&depay,
&dec,
&conv,
&scale,
&filter,
])?;
pipeline.add_many(&[&src, &netsim, &rtpbin, &depay, &dec, &conv, &scale, &filter])?;
gst::Element::link_many(&[&depay, &dec, &conv, &scale, &filter])?;
match args[1].as_str() {
......@@ -253,16 +245,14 @@ fn example_main() -> Result<(), Error> {
match msg.view() {
MessageView::Eos(..) => break,
MessageView::Error(err) => {
return Err(
ErrorMessage {
src: msg.get_src()
.map(|s| s.get_path_string())
.unwrap_or(String::from("None")),
error: err.get_error().description().into(),
debug: err.get_debug(),
cause: err.get_error(),
}.into(),
);
return Err(ErrorMessage {
src: msg.get_src()
.map(|s| s.get_path_string())
.unwrap_or(String::from("None")),
error: err.get_error().description().into(),
debug: err.get_debug(),
cause: err.get_error(),
}.into());
}
MessageView::StateChanged(s) => match msg.get_src() {
Some(element) => if element == pipeline && s.get_current() == gst::State::Playing {
......
......@@ -35,7 +35,8 @@ struct ErrorMessage {
src: String,
error: String,
debug: Option<String>,
#[cause] cause: glib::Error,
#[cause]
cause: glib::Error,
}
fn make_element<'a, P: Into<Option<&'a str>>>(
......@@ -183,16 +184,14 @@ fn example_main() -> Result<(), Error> {
match msg.view() {
MessageView::Eos(..) => break,
MessageView::Error(err) => {
return Err(
ErrorMessage {
src: msg.get_src()
.map(|s| s.get_path_string())
.unwrap_or(String::from("None")),
error: err.get_error().description().into(),
debug: err.get_debug(),
cause: err.get_error(),
}.into(),
);
return Err(ErrorMessage {
src: msg.get_src()
.map(|s| s.get_path_string())
.unwrap_or(String::from("None")),
error: err.get_error().description().into(),
debug: err.get_debug(),
cause: err.get_error(),
}.into());
}
MessageView::StateChanged(s) => match msg.get_src() {
Some(element) => if element == pipeline && s.get_current() == gst::State::Playing {
......
......@@ -50,7 +50,10 @@ fn main_loop() -> Result<(), Error> {
server.attach(None);
println!("Stream ready at rtsp://127.0.0.1:{}/test", server.get_bound_port());
println!(
"Stream ready at rtsp://127.0.0.1:{}/test",
server.get_bound_port()
);
main_loop.run();
......@@ -62,7 +65,9 @@ fn example_main() -> Result<(), Error> {
#[cfg(not(feature = "gst-rtsp-server"))]
{
eprintln!("Feature gst-rtsp-server is required. Please rebuild with --features gst-rtsp-server");
eprintln!(
"Feature gst-rtsp-server is required. Please rebuild with --features gst-rtsp-server"
);
std::process::exit(-1)
}
......
......@@ -24,7 +24,8 @@ struct ErrorMessage {
src: String,
error: String,
debug: Option<String>,
#[cause] cause: glib::Error,
#[cause]
cause: glib::Error,
}
fn example_main() -> Result<(), Error> {
......
......@@ -298,8 +298,7 @@ impl glib::types::StaticType for AudioInfo {
#[doc(hidden)]
impl<'a> glib::value::FromValueOptional<'a> for AudioInfo {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Option::<AudioInfo>::from_glib_none(gobject_ffi::g_value_get_boxed(value.to_glib_none().0)
as *mut ffi::GstAudioInfo)
Option::<AudioInfo>::from_glib_none(gobject_ffi::g_value_get_boxed(value.to_glib_none().0) as *mut ffi::GstAudioInfo)
}
}
......
......@@ -46,9 +46,7 @@ impl AsMut<gst::StructureRef> for PlayerConfig {
impl PlayerConfig {
pub fn get_position_update_interval(&self) -> u32 {
assert_initialized_main_thread!();
unsafe {
ffi::gst_player_config_get_position_update_interval(self.0.to_glib_none().0)
}
unsafe { ffi::gst_player_config_get_position_update_interval(self.0.to_glib_none().0) }
}
pub fn get_seek_accurate(&self) -> bool {
......
......@@ -10,19 +10,19 @@
extern crate bitflags;
extern crate libc;
extern crate gio;
extern crate gio_sys as gio_ffi;
#[macro_use]
extern crate glib;
extern crate glib_sys as glib_ffi;
extern crate gio;
extern crate gio_sys as gio_ffi;
extern crate gobject_sys as gobject_ffi;
extern crate gstreamer as gst;
extern crate gstreamer_sys as gst_ffi;
extern crate gstreamer_rtsp as gst_rtsp;
extern crate gstreamer_rtsp_sys as gst_rtsp_ffi;
extern crate gstreamer_net as gst_net;
extern crate gstreamer_net_sys as gst_net_ffi;
extern crate gstreamer_rtsp as gst_rtsp;
extern crate gstreamer_rtsp_server_sys as ffi;
extern crate gstreamer_rtsp_sys as gst_rtsp_ffi;
extern crate gstreamer_sys as gst_ffi;
macro_rules! assert_initialized_main_thread {
() => (
......
......@@ -7,17 +7,36 @@ use glib::translate::*;
use std::ptr;
pub trait RTSPAddressPoolExtManual {
fn reserve_address(&self, ip_address: &str, port: u32, n_ports: u32, ttl: u32) -> Result<RTSPAddress, RTSPAddressPoolResult>;
fn reserve_address(
&self,
ip_address: &str,
port: u32,
n_ports: u32,
ttl: u32,
) -> Result<RTSPAddress, RTSPAddressPoolResult>;
}
impl<O: IsA<RTSPAddressPool>> RTSPAddressPoolExtManual for O {
fn reserve_address(&self, ip_address: &str, port: u32, n_ports: u32, ttl: u32) -> Result<RTSPAddress, RTSPAddressPoolResult> {
fn reserve_address(
&self,
ip_address: &str,
port: u32,
n_ports: u32,
ttl: u32,
) -> Result<RTSPAddress, RTSPAddressPoolResult> {
unsafe {
let mut address = ptr::null_mut();
let ret = from_glib(ffi::gst_rtsp_address_pool_reserve_address(self.to_glib_none().0, ip_address.to_glib_none().0, port, n_ports, ttl, &mut address));
let ret = from_glib(ffi::gst_rtsp_address_pool_reserve_address(
self.to_glib_none().0,
ip_address.to_glib_none().0,
port,
n_ports,
ttl,
&mut address,
));
match ret {
RTSPAddressPoolResult::Ok => Ok(from_glib_full(address)),
_ => Err(ret)
_ => Err(ret),
}
}
}
......
......@@ -14,7 +14,10 @@ impl<O: IsA<RTSPClient>> RTSPClientExtManual for O {
let context = context.into();
let context = context.to_glib_none();
unsafe {
from_glib(ffi::gst_rtsp_client_attach(self.to_glib_none().0, context.0))
from_glib(ffi::gst_rtsp_client_attach(
self.to_glib_none().0,
context.0,
))
}
}
}
......@@ -14,7 +14,10 @@ impl<O: IsA<RTSPServer>> RTSPServerExtManual for O {
let context = context.into();
let context = context.to_glib_none();
unsafe {
from_glib(ffi::gst_rtsp_server_attach(self.to_glib_none().0, context.0))
from_glib(ffi::gst_rtsp_server_attach(
self.to_glib_none().0,
context.0,
))
}
}
}
......@@ -50,7 +50,7 @@ impl<O: IsA<RTSPSessionPool>> RTSPSessionPoolExtManual for O {
func: F,
) -> glib::Source
where
F: FnMut(&RTSPSessionPool) -> Continue + Send + 'static
F: FnMut(&RTSPSessionPool) -> Continue + Send + 'static,
{
skip_assert_initialized!();
unsafe {
......
......@@ -15,10 +15,10 @@ extern crate glib;
extern crate glib_sys as glib_ffi;
extern crate gobject_sys as gobject_ffi;
extern crate gstreamer as gst;
extern crate gstreamer_sys as gst_ffi;
extern crate gstreamer_rtsp_sys as ffi;
extern crate gstreamer_sdp as gst_sdp;
extern crate gstreamer_sdp_sys as gst_sdp_ffi;
extern crate gstreamer_rtsp_sys as ffi;
extern crate gstreamer_sys as gst_ffi;
macro_rules! assert_initialized_main_thread {
() => (
......
......@@ -13,8 +13,8 @@ extern crate glib;
extern crate glib_sys as glib_ffi;
extern crate gobject_sys as gobject_ffi;
extern crate gstreamer as gst;
extern crate gstreamer_sys as gst_ffi;
extern crate gstreamer_sdp_sys as ffi;
extern crate gstreamer_sys as gst_ffi;
macro_rules! skip_assert_initialized {
() => (
......
......@@ -16,8 +16,8 @@ extern crate glib_sys as glib_ffi;
extern crate gobject_sys as gobject_ffi;
extern crate gstreamer as gst;
extern crate gstreamer_base as gst_base;
extern crate gstreamer_sys as gst_ffi;
extern crate gstreamer_base_sys as gst_base_ffi;
extern crate gstreamer_sys as gst_ffi;
extern crate gstreamer_video_sys as ffi;
macro_rules! assert_initialized_main_thread {
......
......@@ -395,7 +395,10 @@ impl<'a> VideoFrameRef<&'a gst::BufferRef> {
self.0.id
}
pub fn copy(&self, dest: &mut VideoFrameRef<&mut gst::BufferRef>) -> Result<(), glib::BoolError> {
pub fn copy(
&self,
dest: &mut VideoFrameRef<&mut gst::BufferRef>,
) -> Result<(), glib::BoolError> {
unsafe {
let res: bool = from_glib(ffi::gst_video_frame_copy(&mut dest.0, &self.0));
if res {
......
......@@ -26,7 +26,8 @@ pub enum VideoColorRange {
Unknown,
Range0255,
Range16235,
#[doc(hidden)] __Unknown(i32),
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
......@@ -205,7 +206,8 @@ pub struct VideoInfoBuilder<'a> {
stride: Option<&'a [i32]>,
multiview_mode: Option<::VideoMultiviewMode>,
multiview_flags: Option<::VideoMultiviewFlags>,
#[cfg(any(feature = "v1_12", feature = "dox"))] field_order: Option<::VideoFieldOrder>,
#[cfg(any(feature = "v1_12", feature = "dox"))]
field_order: Option<::VideoFieldOrder>,
}
impl<'a> VideoInfoBuilder<'a> {
......@@ -636,8 +638,7 @@ impl glib::types::StaticType for VideoInfo {
#[doc(hidden)]
impl<'a> glib::value::FromValueOptional<'a> for VideoInfo {
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
Option::<VideoInfo>::from_glib_none(gobject_ffi::g_value_get_boxed(value.to_glib_none().0)
as *mut ffi::GstVideoInfo)
Option::<VideoInfo>::from_glib_none(gobject_ffi::g_value_get_boxed(value.to_glib_none().0) as *mut ffi::GstVideoInfo)
}
}
......
......@@ -157,9 +157,7 @@ impl GstRc<BufferRef> {
pub fn append(buffer: Self, other: Self) -> Self {
skip_assert_initialized!();
unsafe {
from_glib_full(ffi::gst_buffer_append(buffer.into_ptr(), other.into_ptr()))
}
unsafe { from_glib_full(ffi::gst_buffer_append(buffer.into_ptr(), other.into_ptr())) }
}
}
......@@ -172,9 +170,8 @@ impl Default for GstRc<BufferRef> {
impl BufferRef {
pub fn map_readable(&self) -> Option<BufferMap<Readable>> {
let mut map_info: ffi::GstMapInfo = unsafe { mem::zeroed() };
let res = unsafe {
ffi::gst_buffer_map(self.as_mut_ptr(), &mut map_info, ffi::GST_MAP_READ)
};
let res =
unsafe { ffi::gst_buffer_map(self.as_mut_ptr(), &mut map_info, ffi::GST_MAP_READ) };
if res == glib_ffi::GTRUE {
Some(BufferMap {
buffer: self,
......@@ -385,10 +382,7 @@ impl ToOwned for BufferRef {
type Owned = GstRc<BufferRef>;
fn to_owned(&self) -> GstRc<BufferRef> {
unsafe {
from_glib_full(ffi::gst_mini_object_copy(self.as_ptr() as *const _)
as *mut _)
}
unsafe { from_glib_full(ffi::gst_mini_object_copy(self.as_ptr() as *const _) as *mut _) }
}
}
......@@ -440,9 +434,7 @@ impl<'a, T> BufferMap<'a, T> {
impl<'a> BufferMap<'a, Writable> {
pub fn as_mut_slice(&mut self) -> &mut [u8] {
unsafe {
slice::from_raw_parts_mut(self.map_info.data as *mut u8, self.map_info.size)
}
unsafe { slice::from_raw_parts_mut(self.map_info.data as *mut u8, self.map_info.size) }
}
}
......@@ -521,9 +513,7 @@ impl<T> MappedBuffer<T> {
impl MappedBuffer<Writable> {
pub fn as_mut_slice(&mut self) -> &mut [u8] {
unsafe {
slice::from_raw_parts_mut(self.map_info.data as *mut u8, self.map_info.size)
}
unsafe { slice::from_raw_parts_mut(self.map_info.data as *mut u8, self.map_info.size) }
}
}
......
......@@ -88,10 +88,7 @@ impl ToOwned for BufferListRef {
type Owned = GstRc<BufferListRef>;
fn to_owned(&self) -> GstRc<BufferListRef> {
unsafe {
from_glib_full(ffi::gst_mini_object_copy(self.as_ptr() as *const _)
as *mut _)
}
unsafe { from_glib_full(ffi::gst_mini_object_copy(self.as_ptr() as *const _) as *mut _) }
}
}
......
......@@ -132,9 +132,7 @@ impl Bus {
}
pub fn unset_sync_handler(&self) {
unsafe {
ffi::gst_bus_set_sync_handler(self.to_glib_none().0, None, ptr::null_mut(), None)
}
unsafe { ffi::gst_bus_set_sync_handler(self.to_glib_none().0, None, ptr::null_mut(), None) }
}
}
......
......@@ -359,10 +359,7 @@ impl ToOwned for CapsRef {
type Owned = GstRc<CapsRef>;
fn to_owned(&self) -> GstRc<CapsRef> {
unsafe {
from_glib_full(ffi::gst_mini_object_copy(self.as_ptr() as *const _)
as *mut _)
}
unsafe { from_glib_full(ffi::gst_mini_object_copy(self.as_ptr() as *const _) as *mut _) }
}
}
......
......@@ -59,9 +59,7 @@ impl ContextRef {
}
pub fn get_structure(&self) -> &StructureRef {
unsafe {
StructureRef::from_glib_borrow(ffi::gst_context_get_structure(self.as_mut_ptr()))
}
unsafe { StructureRef::from_glib_borrow(ffi::gst_context_get_structure(self.as_mut_ptr())) }
}
pub fn get_mut_structure(&mut self) -> &mut StructureRef {
......@@ -92,10 +90,7 @@ impl ToOwned for ContextRef {
type Owned = GstRc<ContextRef>;
fn to_owned(&self) -> GstRc<ContextRef> {
unsafe {
from_glib_full(ffi::gst_mini_object_copy(self.as_ptr() as *const _)
as *mut _)
}
unsafe { from_glib_full(ffi::gst_mini_object_copy(self.as_ptr() as *const _) as *mut _) }
}
}
......
......@@ -454,10 +454,7 @@ impl ToOwned for EventRef {
type Owned = GstRc<EventRef>;
fn to_owned(&self) -> GstRc<EventRef> {
unsafe {
from_glib_full(ffi::gst_mini_object_copy(self.as_ptr() as *const _)
as *mut _)
}
unsafe { from_glib_full(ffi::gst_mini_object_copy(self.as_ptr() as *const _) as *mut _) }
}
}
......@@ -884,30 +881,32 @@ impl<'a> EventBuilder<'a> {
Self {
seqnum: None,
running_time_offset: None,
other_fields: Vec::new()
other_fields: Vec::new(),
}
}
fn seqnum(self, seqnum: Seqnum) -> Self {
Self {
seqnum: Some(seqnum),
.. self
..self
}
}
fn running_time_offset(self, running_time_offset: i64) -> Self {
Self {
running_time_offset: Some(running_time_offset),
.. self
..self
}
}
fn other_fields(self, other_fields: &[(&'a str, &'a ToSendValue)]) -> Self {
Self {
other_fields: self.other_fields.iter().cloned()
other_fields: self.other_fields
.iter()
.cloned()
.chain(other_fields.iter().cloned())
.collect(),
.. self
..self
}
}
}
......@@ -1618,7 +1617,7 @@ mod tests {
EventView::FlushStart(flush_start_evt) => {
assert!(!flush_start_evt.is_sticky());
assert!(flush_start_evt.get_structure().is_none());
},
}
_ => panic!("flush_start_evt.view() is not an EventView::FlushStart(_)"),
}
......@@ -1631,7 +1630,7 @@ mod tests {
if let Some(other_fields) = flush_start_evt.get_structure() {
assert!(other_fields.has_field("extra-field"));
}
},
}
_ => panic!("flush_start_evt.view() is not an EventView::FlushStart(_)"),
}
......
......@@ -372,10 +372,7 @@ impl ToOwned for MessageRef {
type Owned = GstRc<MessageRef>;
fn to_owned(&self) -> GstRc<MessageRef> {
unsafe {
from_glib_full(ffi::gst_mini_object_copy(self.as_ptr() as *const _)
as *mut _)
}
unsafe { from_glib_full(ffi::gst_mini_object_copy(self.as_ptr() as *const _) as *mut _) }
}
}
......@@ -1171,7 +1168,7 @@ impl<'a> MessageBuilder<'a> {
Self {
src: None,
seqnum: None,
other_fields: Vec::new()
other_fields: Vec::new(),
}
}
......@@ -1181,14 +1178,14 @@ impl<'a> MessageBuilder<'a> {
let o = (*o).clone();
o.upcast::<Object>()
}),
.. self
..self
}
}
fn seqnum(self, seqnum: Seqnum) -> Self {
Self {
seqnum: Some(seqnum),
.. self
..self
}
}
......@@ -1284,7 +1281,8 @@ pub struct ErrorBuilder<'a, T> {
error: T,
message: &'a str,
debug: Option<&'a str>,
#[allow(unused)] details: Option<Structure>,
#[allow(unused)]
details: Option<Structure>,
}
impl<'a, T: MessageErrorDomain> ErrorBuilder<'a, T> {
fn new(error: T, message: &'a str) -> Self {
......@@ -1348,7 +1346,8 @@ pub struct WarningBuilder<'a, T> {
error: T,
message: &'a str,
debug: Option<&'a str>,
#[allow(unused)] details: Option<Structure>,
#[allow(unused)]
details: Option<Structure>,
}
impl<'a, T: MessageErrorDomain> WarningBuilder<'a, T> {
fn new(error: T, message: &'a str) -> Self {
......@@ -1412,7 +1411,8 @@ pub struct InfoBuilder<'a, T> {
error: T,
message: &'a str,
debug: Option<&'a str>,
#[allow(unused)] details: Option<Structure>,
#[allow(unused)]
details: Option<Structure>,
}
impl<'a, T: MessageErrorDomain> InfoBuilder<'a, T> {
fn new(error: T, message: &'a str) -> Self {
......@@ -2241,8 +2241,10 @@ impl<'a> StreamCollectionBuilder<'a> {
#[cfg(any(feature = "v1_10", feature = "dox"))]
pub struct StreamsSelectedBuilder<'a> {
builder: MessageBuilder<'a>,
#[cfg(any(feature = "v1_10", feature = "dox"))] collection: &'a ::StreamCollection,
#[cfg(any(feature = "v1_10", feature = "dox"))] streams: Option<&'a [&'a ::Stream]>,
#[cfg(any(feature = "v1_10", feature = "dox"))]
collection: &'a ::StreamCollection,
#[cfg(any(feature = "v1_10", feature = "dox"))]
streams: Option<&'a [&'a ::Stream]>,
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
impl<'a> StreamsSelectedBuilder<'a> {
......@@ -2363,14 +2365,12 @@ mod tests {
::init().unwrap();
// Message without arguments
let eos_msg = Message::new_eos()
.seqnum(Seqnum(1))
.build();
let eos_msg = Message::new_eos().seqnum(Seqnum(1)).build();
match eos_msg.view() {
MessageView::Eos(eos_msg) => {
assert_eq!(eos_msg.get_seqnum(), Seqnum(1));
assert!(eos_msg.get_structure().is_none());
},
}
_ => panic!("eos_msg.view() is not a MessageView::Eos(_)"),
}
......
......@@ -66,9 +66,10 @@ impl<T: MiniObject> GstRc<T> {
return &mut *self.obj;
}
self.obj = T::from_mut_ptr(ffi::gst_mini_object_make_writable(self.as_mut_ptr()
as *mut ffi::GstMiniObject)
as *mut T::GstType);
self.obj = T::from_mut_ptr(
ffi::gst_mini_object_make_writable(self.as_mut_ptr() as *mut ffi::GstMiniObject)
as *mut T::GstType,
);
assert!(self.is_writable());
&mut *self.obj
......@@ -85,8 +86,7 @@ impl<T: MiniObject> GstRc<T> {
pub fn is_writable(&self) -> bool {
unsafe {
from_glib(ffi::gst_mini_object_is_writable(self.as_ptr()
as *const ffi::GstMiniObject))
from_glib(ffi::gst_mini_object_is_writable(self.as_ptr() as *const ffi::GstMiniObject))
}
}
......@@ -191,9 +191,10 @@ where
fn copy(&self) -> GstRc<Self> {
unsafe {
GstRc::from_glib_full(ffi::gst_mini_object_copy(self.as_ptr()
as *const ffi::GstMiniObject)
as *const Self::GstType)
GstRc::from_glib_full(
ffi::gst_mini_object_copy(self.as_ptr() as *const ffi::GstMiniObject)
as *const Self::GstType,
)
}
}
}
......@@ -287,7 +288,8 @@ impl<'a, T: MiniObject + 'static> ToGlibContainerFromSlice<'a, *mut *mut T::GstT
}
impl<'a, T: MiniObject + 'static> ToGlibContainerFromSlice<'a, *const *mut T::GstType>
for GstRc<T> {
for GstRc<T>
{
#[cfg_attr(feature = "cargo-clippy", allow(type_complexity))]
type Storage = (
Vec<Stash<'a, *mut T::GstType, GstRc<T>>>,
......@@ -351,7 +353,8 @@ impl<T: MiniObject + 'static> FromGlibPtrBorrow<*mut T::GstType> for GstRc<T> {
}
impl<T: MiniObject + 'static> FromGlibContainerAsVec<*mut T::GstType, *mut *mut T::GstType>
for GstRc<T> {
for GstRc<T>
{
unsafe fn from_glib_none_num_as_vec(ptr: *mut *mut T::GstType, num: usize) -> Vec<Self> {
if num == 0 || ptr.is_null() {
return Vec::new();
......@@ -385,7 +388,8 @@ impl<T: MiniObject + 'static> FromGlibContainerAsVec<*mut T::GstType, *mut *mut
}
impl<T: MiniObject + 'static> FromGlibPtrArrayContainerAsVec<*mut T::GstType, *mut *mut T::GstType>
for GstRc<T> {
for GstRc<T>
{
unsafe fn from_glib_none_as_vec(ptr: *mut *mut T::GstType) -> Vec<Self> {
FromGlibContainerAsVec::from_glib_none_num_as_vec(ptr, c_ptr_array_len(ptr))
}
......@@ -400,7 +404,8 @@ impl<T: MiniObject + 'static> FromGlibPtrArrayContainerAsVec<*mut T::GstType, *m
}
impl<T: MiniObject + 'static> FromGlibContainerAsVec<*mut T::GstType, *const *mut T::GstType>
for GstRc<T> {
for GstRc<T>
{
unsafe fn from_glib_none_num_as_vec(ptr: *const *mut T::GstType, num: usize) -> Vec<Self> {
FromGlibContainerAsVec::from_glib_none_num_as_vec(ptr as *mut *mut _, num)