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

github.com/sdroege/gst-plugin-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/plugins/gst_plugins_cache.json4
-rw-r--r--net/webrtc/src/webrtcsrc/imp.rs12
2 files changed, 11 insertions, 5 deletions
diff --git a/docs/plugins/gst_plugins_cache.json b/docs/plugins/gst_plugins_cache.json
index 11bf5b56..558c387e 100644
--- a/docs/plugins/gst_plugins_cache.json
+++ b/docs/plugins/gst_plugins_cache.json
@@ -6505,9 +6505,9 @@
"blurb": "The Signallable object to use to handle WebRTC Signalling",
"conditionally-available": false,
"construct": false,
- "construct-only": false,
+ "construct-only": true,
"controllable": false,
- "mutable": "ready",
+ "mutable": "null",
"readable": true,
"type": "GstRSWebRTCSignallableIface",
"writable": true
diff --git a/net/webrtc/src/webrtcsrc/imp.rs b/net/webrtc/src/webrtcsrc/imp.rs
index ddf5aa8e..a9d6d38c 100644
--- a/net/webrtc/src/webrtcsrc/imp.rs
+++ b/net/webrtc/src/webrtcsrc/imp.rs
@@ -66,7 +66,7 @@ impl ObjectImpl for WebRTCSrc {
.default_value(DEFAULT_STUN_SERVER)
.build(),
glib::ParamSpecObject::builder::<Signallable>("signaller")
- .flags(glib::ParamFlags::READWRITE | gst::PARAM_FLAG_MUTABLE_READY)
+ .flags(glib::ParamFlags::READWRITE | glib::ParamFlags::CONSTRUCT_ONLY)
.blurb("The Signallable object to use to handle WebRTC Signalling")
.build(),
glib::ParamSpecBoxed::builder::<gst::Structure>("meta")
@@ -102,8 +102,14 @@ impl ObjectImpl for WebRTCSrc {
fn set_property(&self, _id: usize, value: &glib::Value, pspec: &glib::ParamSpec) {
match pspec.name() {
"signaller" => {
- self.settings.lock().unwrap().signaller =
- value.get::<Signallable>().expect("type checked upstream");
+ let signaller = value
+ .get::<Option<Signallable>>()
+ .expect("type checked upstream");
+ if let Some(signaller) = signaller {
+ self.settings.lock().unwrap().signaller = signaller;
+ }
+ // else: signaller not set as a construct property
+ // => use default Signaller
}
"video-codecs" => {
self.settings.lock().unwrap().video_codecs = value