Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/sdroege/gst-plugin-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2022-05-13 13:20:07 +0300
committerSebastian Dröge <sebastian@centricular.com>2022-05-13 13:34:30 +0300
commitdcad6ffe3488618fa04e80579a340ce8089e9981 (patch)
tree09d91dd5a1b95ac868a692e39e7e6d3c50f208c1
parentb9bc331ebce4506b226c15f82cd89597ad407c12 (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.rs9
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,