diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2022-05-13 13:20:07 +0300 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2022-05-13 13:34:30 +0300 |
commit | dcad6ffe3488618fa04e80579a340ce8089e9981 (patch) | |
tree | 09d91dd5a1b95ac868a692e39e7e6d3c50f208c1 | |
parent | b9bc331ebce4506b226c15f82cd89597ad407c12 (diff) |
rtponvifdepay: Set caps on the source pad
The RTP depayloader base class does not take care of this in any way and
it has to be done manually.
-rw-r--r-- | net/onvif/src/onvifdepay/imp.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/net/onvif/src/onvifdepay/imp.rs b/net/onvif/src/onvifdepay/imp.rs index 6f36d3b0..c86115b2 100644 --- a/net/onvif/src/onvifdepay/imp.rs +++ b/net/onvif/src/onvifdepay/imp.rs @@ -1,5 +1,6 @@ use gst::glib; use gst::subclass::prelude::*; +use gst_rtp::prelude::*; use gst_rtp::subclass::prelude::*; use once_cell::sync::Lazy; use std::sync::Mutex; @@ -83,6 +84,14 @@ impl ElementImpl for OnvifDepay { } impl RTPBaseDepayloadImpl for OnvifDepay { + fn set_caps(&self, element: &Self::Type, _caps: &gst::Caps) -> Result<(), gst::LoggableError> { + let src_pad = element.src_pad(); + let src_caps = src_pad.pad_template_caps(); + src_pad.push_event(gst::event::Caps::builder(&src_caps).build()); + + Ok(()) + } + fn process_rtp_packet( &self, element: &Self::Type, |