mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2024-11-25 21:11:00 +00:00
webrtcsink: fix custom_signaller hanging
Since 6a23ae168f
, the chain function
of webrtcsink adds a custom meta on input buffers.
That custom meta was registered only by the class_init of the subclasses
of BaseWebRTCSink, but the custom signaller example uses
BaseWebRTCSink::with_signaller() directly.
Fix by registering the meta in BaseWebRTCSink::class_init()
Fixes: #610
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1854>
This commit is contained in:
parent
628dee9079
commit
5f0ca7acde
1 changed files with 5 additions and 6 deletions
|
@ -4419,6 +4419,10 @@ impl ObjectSubclass for BaseWebRTCSink {
|
||||||
type Type = super::BaseWebRTCSink;
|
type Type = super::BaseWebRTCSink;
|
||||||
type ParentType = gst::Bin;
|
type ParentType = gst::Bin;
|
||||||
type Interfaces = (gst::ChildProxy, gst_video::Navigation);
|
type Interfaces = (gst::ChildProxy, gst_video::Navigation);
|
||||||
|
|
||||||
|
fn class_init(_klass: &mut Self::Class) {
|
||||||
|
register_dye_meta();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn register_dye_meta() {
|
fn register_dye_meta() {
|
||||||
|
@ -4442,12 +4446,7 @@ fn register_dye_meta() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
unsafe impl<T: BaseWebRTCSinkImpl> IsSubclassable<T> for super::BaseWebRTCSink {
|
unsafe impl<T: BaseWebRTCSinkImpl> IsSubclassable<T> for super::BaseWebRTCSink {}
|
||||||
fn class_init(class: &mut glib::Class<Self>) {
|
|
||||||
register_dye_meta();
|
|
||||||
Self::parent_class_init::<T>(class);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub(crate) trait BaseWebRTCSinkImpl: BinImpl {}
|
pub(crate) trait BaseWebRTCSinkImpl: BinImpl {}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue