From 6319d104a85d49c7251a1649d297541b4618bf4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Laignel?= Date: Thu, 20 Oct 2022 20:18:35 +0200 Subject: [PATCH] Take advantage of `Into>` args Commit 24b7cfc8 applied changes related to nullability as declared by gir. One consequence was that some functions signature ended up requiring users to pass `Some(val)` when they could use `val` before. This commit applies changes on `gstreamer-rs` which, will honoring the nullability stil allow users to pass `val` for the few affected functions. This commit also fixes the signature for `Element::request_new_pad` which was updated upstream. --- generic/fmp4/src/fmp4mux/imp.rs | 6 +++--- generic/threadshare/src/appsrc/imp.rs | 2 +- generic/threadshare/src/inputselector/imp.rs | 2 +- generic/threadshare/src/proxy/imp.rs | 2 +- generic/threadshare/src/tcpclientsrc/imp.rs | 2 +- generic/threadshare/src/udpsrc/imp.rs | 2 +- net/aws/src/s3hlssink/imp.rs | 2 +- net/hlssink3/src/imp.rs | 2 +- net/onvif/src/onvifmetadatacombiner/imp.rs | 8 ++++---- net/onvif/src/onvifmetadataparse/imp.rs | 4 ++-- net/raptorq/src/raptorqdec/imp.rs | 4 ++-- net/webrtc-http/src/whipsink/imp.rs | 4 ++-- net/webrtc/src/webrtcsink/imp.rs | 2 +- utils/fallbackswitch/src/fallbackswitch/imp.rs | 2 +- utils/togglerecord/src/togglerecord/imp.rs | 2 +- 15 files changed, 23 insertions(+), 23 deletions(-) diff --git a/generic/fmp4/src/fmp4mux/imp.rs b/generic/fmp4/src/fmp4mux/imp.rs index c840e490..a7a8932d 100644 --- a/generic/fmp4/src/fmp4mux/imp.rs +++ b/generic/fmp4/src/fmp4mux/imp.rs @@ -1772,7 +1772,7 @@ impl ElementImpl for FMP4Mux { fn request_new_pad( &self, templ: &gst::PadTemplate, - name: Option, + name: Option<&str>, caps: Option<&gst::Caps>, ) -> Option { let state = self.state.lock().unwrap(); @@ -1813,9 +1813,9 @@ impl AggregatorImpl for FMP4Mux { if let Some(filter_caps) = q.filter() { let res = filter_caps .intersect_with_mode(&allowed_caps, gst::CapsIntersectMode::First); - q.set_result(Some(&res)); + q.set_result(&res); } else { - q.set_result(Some(&allowed_caps)); + q.set_result(&allowed_caps); } true diff --git a/generic/threadshare/src/appsrc/imp.rs b/generic/threadshare/src/appsrc/imp.rs index b4e64c9b..b5636e08 100644 --- a/generic/threadshare/src/appsrc/imp.rs +++ b/generic/threadshare/src/appsrc/imp.rs @@ -128,7 +128,7 @@ impl PadSrcHandler for AppSrcPadHandler { .unwrap_or_else(gst::Caps::new_any) }; - q.set_result(Some(&caps)); + q.set_result(&caps); true } diff --git a/generic/threadshare/src/inputselector/imp.rs b/generic/threadshare/src/inputselector/imp.rs index d29320b3..c3e005ee 100644 --- a/generic/threadshare/src/inputselector/imp.rs +++ b/generic/threadshare/src/inputselector/imp.rs @@ -545,7 +545,7 @@ impl ElementImpl for InputSelector { fn request_new_pad( &self, templ: &gst::PadTemplate, - _name: Option, + _name: Option<&str>, _caps: Option<&gst::Caps>, ) -> Option { let mut state = self.state.lock().unwrap(); diff --git a/generic/threadshare/src/proxy/imp.rs b/generic/threadshare/src/proxy/imp.rs index 801f14c5..862e0730 100644 --- a/generic/threadshare/src/proxy/imp.rs +++ b/generic/threadshare/src/proxy/imp.rs @@ -743,7 +743,7 @@ impl PadSrcHandler for ProxySrcPadHandler { .unwrap_or_else(gst::Caps::new_any) }; - q.set_result(Some(&caps)); + q.set_result(&caps); true } diff --git a/generic/threadshare/src/tcpclientsrc/imp.rs b/generic/threadshare/src/tcpclientsrc/imp.rs index 00fc01b6..f616407d 100644 --- a/generic/threadshare/src/tcpclientsrc/imp.rs +++ b/generic/threadshare/src/tcpclientsrc/imp.rs @@ -142,7 +142,7 @@ impl PadSrcHandler for TcpClientSrcPadHandler { .unwrap_or_else(gst::Caps::new_any) }; - q.set_result(Some(&caps)); + q.set_result(&caps); true } diff --git a/generic/threadshare/src/udpsrc/imp.rs b/generic/threadshare/src/udpsrc/imp.rs index 31407965..f6105d0b 100644 --- a/generic/threadshare/src/udpsrc/imp.rs +++ b/generic/threadshare/src/udpsrc/imp.rs @@ -159,7 +159,7 @@ impl PadSrcHandler for UdpSrcPadHandler { .unwrap_or_else(gst::Caps::new_any) }; - q.set_result(Some(&caps)); + q.set_result(&caps); true } diff --git a/net/aws/src/s3hlssink/imp.rs b/net/aws/src/s3hlssink/imp.rs index 3e1b9470..f59498b0 100644 --- a/net/aws/src/s3hlssink/imp.rs +++ b/net/aws/src/s3hlssink/imp.rs @@ -811,7 +811,7 @@ impl ElementImpl for S3HlsSink { fn request_new_pad( &self, templ: &gst::PadTemplate, - _name: Option, + _name: Option<&str>, _caps: Option<&gst::Caps>, ) -> Option { let mut settings = self.settings.lock().unwrap(); diff --git a/net/hlssink3/src/imp.rs b/net/hlssink3/src/imp.rs index 88db601d..030203cc 100644 --- a/net/hlssink3/src/imp.rs +++ b/net/hlssink3/src/imp.rs @@ -753,7 +753,7 @@ impl ElementImpl for HlsSink3 { fn request_new_pad( &self, templ: &gst::PadTemplate, - _name: Option, + _name: Option<&str>, _caps: Option<&gst::Caps>, ) -> Option { let mut settings = self.settings.lock().unwrap(); diff --git a/net/onvif/src/onvifmetadatacombiner/imp.rs b/net/onvif/src/onvifmetadatacombiner/imp.rs index 891f396f..6fba3c69 100644 --- a/net/onvif/src/onvifmetadatacombiner/imp.rs +++ b/net/onvif/src/onvifmetadatacombiner/imp.rs @@ -129,7 +129,7 @@ impl ElementImpl for OnvifMetadataCombiner { fn request_new_pad( &self, _templ: &gst::PadTemplate, - _name: Option, + _name: Option<&str>, _caps: Option<&gst::Caps>, ) -> Option { gst::error!( @@ -468,11 +468,11 @@ impl AggregatorImpl for OnvifMetadataCombiner { let templ_caps = templ.caps(); if let Some(filter) = filter { - q.set_result(Some( + q.set_result( &filter.intersect_with_mode(templ_caps, gst::CapsIntersectMode::First), - )); + ); } else { - q.set_result(Some(templ_caps)); + q.set_result(templ_caps); } true diff --git a/net/onvif/src/onvifmetadataparse/imp.rs b/net/onvif/src/onvifmetadataparse/imp.rs index 3f6ffcd7..3833d2b9 100644 --- a/net/onvif/src/onvifmetadataparse/imp.rs +++ b/net/onvif/src/onvifmetadataparse/imp.rs @@ -1044,7 +1044,7 @@ impl OnvifMetadataParse { caps }; - q.set_result(Some(&res)); + q.set_result(&res); true } @@ -1112,7 +1112,7 @@ impl OnvifMetadataParse { caps }; - q.set_result(Some(&res)); + q.set_result(&res); true } diff --git a/net/raptorq/src/raptorqdec/imp.rs b/net/raptorq/src/raptorqdec/imp.rs index b12f76a9..84e682f1 100644 --- a/net/raptorq/src/raptorqdec/imp.rs +++ b/net/raptorq/src/raptorqdec/imp.rs @@ -806,7 +806,7 @@ impl ElementImpl for RaptorqDec { fn request_new_pad( &self, templ: &gst::PadTemplate, - name: Option, + name: Option<&str>, _caps: Option<&gst::Caps>, ) -> Option { let mut sinkpad_fec_guard = self.sinkpad_fec.lock().unwrap(); @@ -821,7 +821,7 @@ impl ElementImpl for RaptorqDec { return None; } - let sinkpad_fec = gst::Pad::builder_with_template(templ, name.as_deref()) + let sinkpad_fec = gst::Pad::builder_with_template(templ, name) .chain_function(|pad, parent, buffer| { Self::catch_panic_pad_function( parent, diff --git a/net/webrtc-http/src/whipsink/imp.rs b/net/webrtc-http/src/whipsink/imp.rs index 8c94d8f6..27a3fa42 100644 --- a/net/webrtc-http/src/whipsink/imp.rs +++ b/net/webrtc-http/src/whipsink/imp.rs @@ -130,10 +130,10 @@ impl ElementImpl for WhipSink { fn request_new_pad( &self, templ: &gst::PadTemplate, - name: Option, + name: Option<&str>, caps: Option<&gst::Caps>, ) -> Option { - let wb_sink_pad = self.webrtcbin.request_pad(templ, name.as_deref(), caps)?; + let wb_sink_pad = self.webrtcbin.request_pad(templ, name, caps)?; let sink_pad = gst::GhostPad::new(Some(&wb_sink_pad.name()), gst::PadDirection::Sink); sink_pad.set_target(Some(&wb_sink_pad)).unwrap(); diff --git a/net/webrtc/src/webrtcsink/imp.rs b/net/webrtc/src/webrtcsink/imp.rs index 04ce51ad..3d2adc42 100644 --- a/net/webrtc/src/webrtcsink/imp.rs +++ b/net/webrtc/src/webrtcsink/imp.rs @@ -2723,7 +2723,7 @@ impl ElementImpl for WebRTCSink { fn request_new_pad( &self, templ: &gst::PadTemplate, - _name: Option, + _name: Option<&str>, _caps: Option<&gst::Caps>, ) -> Option { let element = self.instance(); diff --git a/utils/fallbackswitch/src/fallbackswitch/imp.rs b/utils/fallbackswitch/src/fallbackswitch/imp.rs index f649128e..f9479a5e 100644 --- a/utils/fallbackswitch/src/fallbackswitch/imp.rs +++ b/utils/fallbackswitch/src/fallbackswitch/imp.rs @@ -1333,7 +1333,7 @@ impl ElementImpl for FallbackSwitch { fn request_new_pad( &self, templ: &gst::PadTemplate, - _name: Option, + _name: Option<&str>, _caps: Option<&gst::Caps>, ) -> Option { let mut state = self.state.lock(); diff --git a/utils/togglerecord/src/togglerecord/imp.rs b/utils/togglerecord/src/togglerecord/imp.rs index fcf2d944..ed9a47bf 100644 --- a/utils/togglerecord/src/togglerecord/imp.rs +++ b/utils/togglerecord/src/togglerecord/imp.rs @@ -1991,7 +1991,7 @@ impl ElementImpl for ToggleRecord { fn request_new_pad( &self, _templ: &gst::PadTemplate, - _name: Option, + _name: Option<&str>, _caps: Option<&gst::Caps>, ) -> Option { let mut other_streams_guard = self.other_streams.lock();