Possibly wrong binding for PadExtManual::proxy_query_caps
Describe your issue
Current implementation of PadExtManual::proxy_query_caps
calls internally ffi::gst_pad_proxy_query_accept_caps
(same as PadExtManual::proxy_query_accept_caps
)
pub trait PadExtManual: sealed::Sealed + IsA<Pad> + 'static {
// ...
fn proxy_query_caps(&self, query: &mut QueryRef) -> bool {
unsafe {
from_glib(ffi::gst_pad_proxy_query_accept_caps(
self.as_ref().to_glib_none().0,
query.as_mut_ptr(),
))
}
}
#[doc(alias = "gst_pad_proxy_query_accept_caps")]
fn proxy_query_accept_caps(&self, query: &mut QueryRef) -> bool {
unsafe {
from_glib(ffi::gst_pad_proxy_query_accept_caps(
self.as_ref().to_glib_none().0,
query.as_mut_ptr(),
))
}
}
When I call pad.proxy_query_caps(query)
for "caps" Query type
fn src_query(&self, pad: &gst::Pad, query: &mut gst::QueryRef) -> bool {
match query.view() {
gst::QueryView::Caps(_) => {
pad.proxy_query_caps(query)
},
This leads to
GStreamer-CRITICAL **: gst_pad_proxy_query_accept_caps: assertion 'GST_QUERY_TYPE (query) == GST_QUERY_ACCEPT_CAPS' failed
I think that (to my inderstanding) correct binding should be
#[doc(alias = "gst_pad_proxy_query_caps")]
fn proxy_query_caps(&self, query: &mut QueryRef) -> bool {
unsafe {
from_glib(ffi::gst_pad_proxy_query_caps(
self.as_ref().to_glib_none().0,
query.as_mut_ptr(),
))
}
}
as proxy_query_caps
should call ffi::gst_pad_proxy_query_caps
, not ffi::gst_pad_proxy_query_accept_caps