From a40835351f85ba158eb45acd486e1a1aba048561 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 5547cf30d..042ae3400 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; @@ -412,7 +414,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 db42bec00..c23b62e72 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 1990b6532..b4cec4d7b 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)) } }