Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net/webrtc/src/webrtcsink/imp.rs')
-rw-r--r--net/webrtc/src/webrtcsink/imp.rs24
1 files changed, 18 insertions, 6 deletions
diff --git a/net/webrtc/src/webrtcsink/imp.rs b/net/webrtc/src/webrtcsink/imp.rs
index e8846cf7e..8d88b413c 100644
--- a/net/webrtc/src/webrtcsink/imp.rs
+++ b/net/webrtc/src/webrtcsink/imp.rs
@@ -1479,9 +1479,15 @@ impl BaseWebRTCSink {
let ssrc = BaseWebRTCSink::generate_ssrc(element, webrtc_pads);
let media_idx = webrtc_pads.len() as i32;
- let pad = webrtcbin
- .request_pad_simple(&format!("sink_{}", media_idx))
- .unwrap();
+ let Some(pad) = webrtcbin.request_pad_simple(&format!("sink_{}", media_idx)) else {
+ gst::error!(CAT, obj: element, "Failed to request pad from webrtcbin");
+ gst::element_error!(
+ element,
+ gst::StreamError::Failed,
+ ["Failed to request pad from webrtcbin"]
+ );
+ return;
+ };
let transceiver = pad.property::<gst_webrtc::WebRTCRTPTransceiver>("transceiver");
@@ -1574,9 +1580,15 @@ impl BaseWebRTCSink {
payloader_caps
);
- let pad = webrtcbin
- .request_pad_simple(&format!("sink_{}", media_idx))
- .unwrap();
+ let Some(pad) = webrtcbin.request_pad_simple(&format!("sink_{}", media_idx)) else {
+ gst::error!(CAT, obj: element, "Failed to request pad from webrtcbin");
+ gst::element_error!(
+ element,
+ gst::StreamError::Failed,
+ ["Failed to request pad from webrtcbin"]
+ );
+ return;
+ };
let transceiver = pad.property::<gst_webrtc::WebRTCRTPTransceiver>("transceiver");