mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2024-11-22 19:41:00 +00:00
net/webrtcsrc: define signaller property as CONSTRUCT_ONLY
The "signaller" property used to be defined as MUTABLE_READY which meant that the property was always set after `constructed()` was called. Since `connect_signaller()` was called from `constructed()`, only the default signaller was used. This commit sets the "signaller" property as CONSTRUCT_ONLY. Using a builder, this property will now be set before the call to `constructed()`. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1324>
This commit is contained in:
parent
785c9557c8
commit
50dd519c4f
2 changed files with 11 additions and 5 deletions
|
@ -6505,9 +6505,9 @@
|
||||||
"blurb": "The Signallable object to use to handle WebRTC Signalling",
|
"blurb": "The Signallable object to use to handle WebRTC Signalling",
|
||||||
"conditionally-available": false,
|
"conditionally-available": false,
|
||||||
"construct": false,
|
"construct": false,
|
||||||
"construct-only": false,
|
"construct-only": true,
|
||||||
"controllable": false,
|
"controllable": false,
|
||||||
"mutable": "ready",
|
"mutable": "null",
|
||||||
"readable": true,
|
"readable": true,
|
||||||
"type": "GstRSWebRTCSignallableIface",
|
"type": "GstRSWebRTCSignallableIface",
|
||||||
"writable": true
|
"writable": true
|
||||||
|
|
|
@ -66,7 +66,7 @@ impl ObjectImpl for WebRTCSrc {
|
||||||
.default_value(DEFAULT_STUN_SERVER)
|
.default_value(DEFAULT_STUN_SERVER)
|
||||||
.build(),
|
.build(),
|
||||||
glib::ParamSpecObject::builder::<Signallable>("signaller")
|
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")
|
.blurb("The Signallable object to use to handle WebRTC Signalling")
|
||||||
.build(),
|
.build(),
|
||||||
glib::ParamSpecBoxed::builder::<gst::Structure>("meta")
|
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) {
|
fn set_property(&self, _id: usize, value: &glib::Value, pspec: &glib::ParamSpec) {
|
||||||
match pspec.name() {
|
match pspec.name() {
|
||||||
"signaller" => {
|
"signaller" => {
|
||||||
self.settings.lock().unwrap().signaller =
|
let signaller = value
|
||||||
value.get::<Signallable>().expect("type checked upstream");
|
.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" => {
|
"video-codecs" => {
|
||||||
self.settings.lock().unwrap().video_codecs = value
|
self.settings.lock().unwrap().video_codecs = value
|
||||||
|
|
Loading…
Reference in a new issue