From bddb49443d76a83b12b611a990a4cc1a73b844d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sat, 14 Sep 2019 11:01:50 +0300 Subject: [PATCH] audio/video: Use proxy_getcaps() function for default handling of getcaps() vfunc --- gstreamer-audio/src/subclass/audio_decoder.rs | 4 +++- gstreamer-audio/src/subclass/audio_encoder.rs | 4 +++- gstreamer-video/src/subclass/video_decoder.rs | 3 ++- gstreamer-video/src/subclass/video_encoder.rs | 3 ++- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gstreamer-audio/src/subclass/audio_decoder.rs b/gstreamer-audio/src/subclass/audio_decoder.rs index e07e1c994..3a6bff281 100644 --- a/gstreamer-audio/src/subclass/audio_decoder.rs +++ b/gstreamer-audio/src/subclass/audio_decoder.rs @@ -21,6 +21,8 @@ use gst_base; use std::mem; use std::ptr; +use crate::prelude::*; + use AudioDecoder; use AudioDecoderClass; @@ -414,7 +416,7 @@ impl AudioDecoderImplExt for T { (*parent_class) .getcaps .map(|f| from_glib_full(f(element.to_glib_none().0, filter.to_glib_none().0))) - .unwrap_or(None) + .unwrap_or(element.proxy_getcaps(None, filter)) } } diff --git a/gstreamer-audio/src/subclass/audio_encoder.rs b/gstreamer-audio/src/subclass/audio_encoder.rs index a1c47c08f..056a46e2f 100644 --- a/gstreamer-audio/src/subclass/audio_encoder.rs +++ b/gstreamer-audio/src/subclass/audio_encoder.rs @@ -19,6 +19,8 @@ use gst::MiniObject; use std::ptr; +use crate::prelude::*; + use AudioEncoder; use AudioEncoderClass; use AudioInfo; @@ -363,7 +365,7 @@ impl AudioEncoderImplExt for T { (*parent_class) .getcaps .map(|f| from_glib_full(f(element.to_glib_none().0, filter.to_glib_none().0))) - .unwrap_or(None) + .unwrap_or(element.proxy_getcaps(None, filter)) } } diff --git a/gstreamer-video/src/subclass/video_decoder.rs b/gstreamer-video/src/subclass/video_decoder.rs index 959610cc9..cb8984d31 100644 --- a/gstreamer-video/src/subclass/video_decoder.rs +++ b/gstreamer-video/src/subclass/video_decoder.rs @@ -19,6 +19,7 @@ use gst::subclass::prelude::*; use gst::MiniObject; use gst_base; +use crate::prelude::*; use video_codec_state::{Readable, VideoCodecState}; use VideoCodecFrame; use VideoDecoder; @@ -404,7 +405,7 @@ impl VideoDecoderImplExt for T { (*parent_class) .getcaps .map(|f| from_glib_full(f(element.to_glib_none().0, filter.to_glib_none().0))) - .unwrap_or(None) + .unwrap_or(element.proxy_getcaps(None, filter)) } } diff --git a/gstreamer-video/src/subclass/video_encoder.rs b/gstreamer-video/src/subclass/video_encoder.rs index 4fee1fea8..f4c9cb731 100644 --- a/gstreamer-video/src/subclass/video_encoder.rs +++ b/gstreamer-video/src/subclass/video_encoder.rs @@ -18,6 +18,7 @@ use gst; use gst::subclass::prelude::*; use gst::MiniObject; +use crate::prelude::*; use video_codec_state::{Readable, VideoCodecState}; use VideoCodecFrame; use VideoEncoder; @@ -340,7 +341,7 @@ impl VideoEncoderImplExt for T { (*parent_class) .getcaps .map(|f| from_glib_full(f(element.to_glib_none().0, filter.to_glib_none().0))) - .unwrap_or(None) + .unwrap_or(element.proxy_getcaps(None, filter)) } }