Fix a couple of type hierarchy bugs

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1864>
This commit is contained in:
Sebastian Dröge 2024-10-20 21:13:43 +03:00 committed by GStreamer Marge Bot
parent f1a8852507
commit b43a778a8e
10 changed files with 10 additions and 12 deletions

View file

@ -13,7 +13,7 @@ mod imp;
mod ring_buffer;
glib::wrapper! {
pub struct AudioEcho(ObjectSubclass<imp::AudioEcho>) @extends gst_base::BaseTransform, gst::Element, gst::Object;
pub struct AudioEcho(ObjectSubclass<imp::AudioEcho>) @extends gst_audio::AudioFilter, gst_base::BaseTransform, gst::Element, gst::Object;
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {

View file

@ -13,7 +13,7 @@ use gst::prelude::*;
mod imp;
glib::wrapper! {
pub struct AudioRNNoise(ObjectSubclass<imp::AudioRNNoise>) @extends gst_base::BaseTransform, gst::Element, gst::Object;
pub struct AudioRNNoise(ObjectSubclass<imp::AudioRNNoise>) @extends gst_audio::AudioFilter, gst_base::BaseTransform, gst::Element, gst::Object;
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {

View file

@ -12,7 +12,7 @@ use gst::prelude::*;
mod imp;
glib::wrapper! {
pub struct EbuR128Level(ObjectSubclass<imp::EbuR128Level>) @extends gst_base::BaseTransform, gst::Element, gst::Object;
pub struct EbuR128Level(ObjectSubclass<imp::EbuR128Level>) @extends gst_audio::AudioFilter, gst_base::BaseTransform, gst::Element, gst::Object;
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {

View file

@ -57,11 +57,11 @@ pub(crate) enum OnError {
}
glib::wrapper! {
pub struct S3Sink(ObjectSubclass<multipartsink::S3Sink>) @extends gst_base::BaseSink, gst::Element, gst::Object;
pub struct S3Sink(ObjectSubclass<multipartsink::S3Sink>) @extends gst_base::BaseSink, gst::Element, gst::Object, @implements gst::URIHandler;
}
glib::wrapper! {
pub struct S3PutObjectSink(ObjectSubclass<putobjectsink::S3PutObjectSink>) @extends gst_base::BaseSink, gst::Element, gst::Object;
pub struct S3PutObjectSink(ObjectSubclass<putobjectsink::S3PutObjectSink>) @extends gst_base::BaseSink, gst::Element, gst::Object, @implements gst::URIHandler;
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {

View file

@ -12,7 +12,7 @@ use gst::prelude::*;
mod imp;
glib::wrapper! {
pub struct S3Src(ObjectSubclass<imp::S3Src>) @extends gst_base::BaseSrc, gst::Element, gst::Object;
pub struct S3Src(ObjectSubclass<imp::S3Src>) @extends gst_base::BaseSrc, gst::Element, gst::Object, @implements gst::URIHandler;
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {

View file

@ -42,7 +42,7 @@ mod tcp_message;
mod transport;
glib::wrapper! {
pub struct RtspSrc(ObjectSubclass<imp::RtspSrc>) @extends gst::Bin, gst::Element, gst::Object;
pub struct RtspSrc(ObjectSubclass<imp::RtspSrc>) @extends gst::Bin, gst::Element, gst::Object, @implements gst::URIHandler;
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {

View file

@ -791,5 +791,3 @@ impl SignallableImpl for Signaller {
}
}
}
impl GstObjectImpl for Signaller {}

View file

@ -15,7 +15,7 @@ mod imp;
// The public Rust wrapper type for our element
glib::wrapper! {
pub struct Rgb2Gray(ObjectSubclass<imp::Rgb2Gray>) @extends gst_base::BaseTransform, gst::Element, gst::Object;
pub struct Rgb2Gray(ObjectSubclass<imp::Rgb2Gray>) @extends gst_video::VideoFilter, gst_base::BaseTransform, gst::Element, gst::Object;
}
// Registers the type for our element, and then registers in GStreamer under

View file

@ -14,7 +14,7 @@ use gst::prelude::*;
mod imp;
glib::wrapper! {
pub struct HsvDetector(ObjectSubclass<imp::HsvDetector>) @extends gst_base::BaseTransform, gst::Element, gst::Object;
pub struct HsvDetector(ObjectSubclass<imp::HsvDetector>) @extends gst_video::VideoFilter, gst_base::BaseTransform, gst::Element, gst::Object;
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {

View file

@ -14,7 +14,7 @@ use gst::prelude::*;
mod imp;
glib::wrapper! {
pub struct HsvFilter(ObjectSubclass<imp::HsvFilter>) @extends gst_base::BaseTransform, gst::Element, gst::Object;
pub struct HsvFilter(ObjectSubclass<imp::HsvFilter>) @extends gst_video::VideoFilter, gst_base::BaseTransform, gst::Element, gst::Object;
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {