app: Don't statically declare that appsrc/appsink inherit from basesrc/basesink

Otherwise the API of the base classes will be directly available and can
cause confusion (e.g. gst_base_src_set_format() vs. the "format"
property).

All base class API should be considered "protected" from an application
point of view and only be called by the subclass itself.

See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/872
This commit is contained in:
Sebastian Dröge 2021-02-22 20:03:30 +02:00
parent b5d5838d96
commit 06e0555555
3 changed files with 2 additions and 5 deletions

View file

@ -13,7 +13,6 @@ external_libraries = [
"GLib",
"GObject",
"Gst",
"GstBase",
]
generate = [
@ -27,8 +26,6 @@ manual = [
"Gst.URIHandler",
"Gst.FlowReturn",
"Gst.Format",
"GstBase.BaseSrc",
"GstBase.BaseSink",
]
[[object]]

View file

@ -11,7 +11,7 @@ use std::boxed::Box as Box_;
use std::mem::transmute;
glib::wrapper! {
pub struct AppSink(Object<ffi::GstAppSink, ffi::GstAppSinkClass>) @extends gst_base::BaseSink, gst::Element, gst::Object, @implements gst::URIHandler;
pub struct AppSink(Object<ffi::GstAppSink, ffi::GstAppSinkClass>) @extends gst::Element, gst::Object, @implements gst::URIHandler;
match fn {
get_type => || ffi::gst_app_sink_get_type(),

View file

@ -12,7 +12,7 @@ use std::boxed::Box as Box_;
use std::mem::transmute;
glib::wrapper! {
pub struct AppSrc(Object<ffi::GstAppSrc, ffi::GstAppSrcClass>) @extends gst_base::BaseSrc, gst::Element, gst::Object, @implements gst::URIHandler;
pub struct AppSrc(Object<ffi::GstAppSrc, ffi::GstAppSrcClass>) @extends gst::Element, gst::Object, @implements gst::URIHandler;
match fn {
get_type => || ffi::gst_app_src_get_type(),