IsA<gstreamer_base::BaseSink> not satisfied while extending BaseSink
I'm working on a plugin using Android Oboe Library here: gst-oboe-rs.
I've an error message which I could not figure out:
error[E0599]: no method named `get_segment` found for reference `&sink::imp::OboeSink` in the current scope
--> src/sink/imp.rs:100:26
|
12 | pub struct OboeSink {}
| -------------------
| |
| doesn't satisfy `_: glib::IsA<gstreamer_base::BaseSink>`
| doesn't satisfy `_: gstreamer_base::BaseSinkExtManual`
...
100 | let start = self.get_segment().get_start();
| ^^^^^^^^^^^ method not found in `&sink::imp::OboeSink`
|
= note: the method `get_segment` exists but the following trait bounds were not satisfied:
`sink::imp::OboeSink: glib::IsA<gstreamer_base::BaseSink>`
which is required by `sink::imp::OboeSink: gstreamer_base::BaseSinkExtManual`
`&sink::imp::OboeSink: glib::IsA<gstreamer_base::BaseSink>`
which is required by `&sink::imp::OboeSink: gstreamer_base::BaseSinkExtManual`
warning: unused import: `gst_base::prelude::BaseSinkExtManual`
--> src/sink/imp.rs:7:5
|
7 | use gst_base::prelude::BaseSinkExtManual;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I've compared my code with gst-plugin-rs/video/cdg/src/cdgdec, which also uses a VideoDecoderExtManual
. I have extended the OboeSink in mod.rs with gst_base::BaseSink, but still got this error.