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

gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/net/onvif
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2022-08-25 14:16:37 +0300
committerSebastian Dröge <sebastian@centricular.com>2022-08-31 13:00:53 +0300
commit420f36251ac641e2686c5aae7ef0faff75cd2da2 (patch)
tree781d4ad0996cae5c6d11fc4a5224f1605b481341 /net/onvif
parente391f1ef250c28eec4a67a26f66720d4ccc1eda5 (diff)
onvif: Rename onvif(de)pay to rtponvifmetadata(de)pay and include the metadata specifier in the other element names too
This is more descriptive and avoids any future conflicts with other kinds of ONVIF specific RTP (de)payloaders.
Diffstat (limited to 'net/onvif')
-rw-r--r--net/onvif/src/lib.rs16
-rw-r--r--net/onvif/src/onvifmetadatacombiner/imp.rs (renamed from net/onvif/src/onvifaggregator/imp.rs)38
-rw-r--r--net/onvif/src/onvifmetadatacombiner/mod.rs (renamed from net/onvif/src/onvifdepay/mod.rs)6
-rw-r--r--net/onvif/src/onvifmetadatadepay/imp.rs (renamed from net/onvif/src/onvifdepay/imp.rs)18
-rw-r--r--net/onvif/src/onvifmetadatadepay/mod.rs (renamed from net/onvif/src/onvifpay/mod.rs)6
-rw-r--r--net/onvif/src/onvifmetadataoverlay/imp.rs (renamed from net/onvif/src/onvifoverlay/imp.rs)47
-rw-r--r--net/onvif/src/onvifmetadataoverlay/mod.rs (renamed from net/onvif/src/onvifoverlay/mod.rs)6
-rw-r--r--net/onvif/src/onvifmetadatapay/imp.rs (renamed from net/onvif/src/onvifpay/imp.rs)16
-rw-r--r--net/onvif/src/onvifmetadatapay/mod.rs (renamed from net/onvif/src/onvifaggregator/mod.rs)6
9 files changed, 86 insertions, 73 deletions
diff --git a/net/onvif/src/lib.rs b/net/onvif/src/lib.rs
index b0fabd31a..09556b655 100644
--- a/net/onvif/src/lib.rs
+++ b/net/onvif/src/lib.rs
@@ -15,11 +15,11 @@
use gst::glib;
use once_cell::sync::Lazy;
-mod onvifaggregator;
-mod onvifdepay;
+mod onvifmetadatacombiner;
+mod onvifmetadatadepay;
+mod onvifmetadataoverlay;
mod onvifmetadataparse;
-mod onvifoverlay;
-mod onvifpay;
+mod onvifmetadatapay;
// Offset in nanoseconds from midnight 01-01-1900 (prime epoch) to
// midnight 01-01-1970 (UNIX epoch)
@@ -106,10 +106,10 @@ pub(crate) fn iterate_video_analytics_frames(
}
fn plugin_init(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
- onvifpay::register(plugin)?;
- onvifdepay::register(plugin)?;
- onvifaggregator::register(plugin)?;
- onvifoverlay::register(plugin)?;
+ onvifmetadatapay::register(plugin)?;
+ onvifmetadatadepay::register(plugin)?;
+ onvifmetadatacombiner::register(plugin)?;
+ onvifmetadataoverlay::register(plugin)?;
onvifmetadataparse::register(plugin)?;
gst::meta::CustomMeta::register("OnvifXMLFrameMeta", &[], |_, _, _, _| true);
diff --git a/net/onvif/src/onvifaggregator/imp.rs b/net/onvif/src/onvifmetadatacombiner/imp.rs
index f39afea88..c27032b7f 100644
--- a/net/onvif/src/onvifaggregator/imp.rs
+++ b/net/onvif/src/onvifmetadatacombiner/imp.rs
@@ -16,7 +16,7 @@ struct State {
current_media_buffer: Option<gst::Buffer>,
}
-pub struct OnvifAggregator {
+pub struct OnvifMetadataCombiner {
// Input media stream, can be anything with a reference timestamp meta
media_sink_pad: gst_base::AggregatorPad,
// Input metadata stream, must be complete VideoAnalytics XML documents
@@ -27,16 +27,16 @@ pub struct OnvifAggregator {
static CAT: Lazy<gst::DebugCategory> = Lazy::new(|| {
gst::DebugCategory::new(
- "onvifaggregator",
+ "onvifmetadatacombiner",
gst::DebugColorFlags::empty(),
- Some("ONVIF metadata / video aggregator"),
+ Some("ONVIF metadata / video combiner"),
)
});
#[glib::object_subclass]
-impl ObjectSubclass for OnvifAggregator {
- const NAME: &'static str = "GstOnvifAggregator";
- type Type = super::OnvifAggregator;
+impl ObjectSubclass for OnvifMetadataCombiner {
+ const NAME: &'static str = "GstOnvifMetadataCombiner";
+ type Type = super::OnvifMetadataCombiner;
type ParentType = gst_base::Aggregator;
fn with_class(klass: &Self::Class) -> Self {
@@ -57,7 +57,7 @@ impl ObjectSubclass for OnvifAggregator {
}
}
-impl ObjectImpl for OnvifAggregator {
+impl ObjectImpl for OnvifMetadataCombiner {
fn constructed(&self, obj: &Self::Type) {
self.parent_constructed(obj);
@@ -66,15 +66,15 @@ impl ObjectImpl for OnvifAggregator {
}
}
-impl GstObjectImpl for OnvifAggregator {}
+impl GstObjectImpl for OnvifMetadataCombiner {}
-impl ElementImpl for OnvifAggregator {
+impl ElementImpl for OnvifMetadataCombiner {
fn metadata() -> Option<&'static gst::subclass::ElementMetadata> {
static ELEMENT_METADATA: Lazy<gst::subclass::ElementMetadata> = Lazy::new(|| {
gst::subclass::ElementMetadata::new(
- "ONVIF metadata aggregator",
- "Aggregator",
- "ONVIF metadata aggregator",
+ "ONVIF metadata combiner",
+ "Video/Metadata/Combiner/Muxer",
+ "ONVIF metadata combiner",
"Mathieu Duponchelle <mathieu@centricular.com>",
)
});
@@ -135,7 +135,7 @@ impl ElementImpl for OnvifAggregator {
gst::error!(
CAT,
obj: element,
- "onvifaggregator doesn't expose request pads"
+ "onvifmetadatacombiner doesn't expose request pads"
);
None
@@ -145,16 +145,16 @@ impl ElementImpl for OnvifAggregator {
gst::error!(
CAT,
obj: element,
- "onvifaggregator doesn't expose request pads"
+ "onvifmetadatacombiner doesn't expose request pads"
);
}
}
-impl OnvifAggregator {
+impl OnvifMetadataCombiner {
fn consume_meta(
&self,
state: &mut State,
- element: &super::OnvifAggregator,
+ element: &super::OnvifMetadataCombiner,
end: gst::ClockTime,
) -> Result<bool, gst::FlowError> {
while let Some(buffer) = self.meta_sink_pad.peek_buffer() {
@@ -179,7 +179,7 @@ impl OnvifAggregator {
fn media_buffer_duration(
&self,
- element: &super::OnvifAggregator,
+ element: &super::OnvifMetadataCombiner,
current_media_buffer: &gst::Buffer,
timeout: bool,
) -> Option<gst::ClockTime> {
@@ -239,7 +239,7 @@ impl OnvifAggregator {
fn consume_media(
&self,
state: &mut State,
- element: &super::OnvifAggregator,
+ element: &super::OnvifMetadataCombiner,
timeout: bool,
) -> Result<Option<gst::Buffer>, gst::FlowError> {
if let Some(current_media_buffer) = state
@@ -275,7 +275,7 @@ impl OnvifAggregator {
}
}
-impl AggregatorImpl for OnvifAggregator {
+impl AggregatorImpl for OnvifMetadataCombiner {
fn aggregate(
&self,
element: &Self::Type,
diff --git a/net/onvif/src/onvifdepay/mod.rs b/net/onvif/src/onvifmetadatacombiner/mod.rs
index 8c56bbbf6..b0534771a 100644
--- a/net/onvif/src/onvifdepay/mod.rs
+++ b/net/onvif/src/onvifmetadatacombiner/mod.rs
@@ -4,14 +4,14 @@ use gst::prelude::*;
mod imp;
glib::wrapper! {
- pub struct OnvifDepay(ObjectSubclass<imp::OnvifDepay>) @extends gst_rtp::RTPBaseDepayload, gst::Element, gst::Object;
+ pub struct OnvifMetadataCombiner(ObjectSubclass<imp::OnvifMetadataCombiner>) @extends gst_base::Aggregator, gst::Element, gst::Object;
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
gst::Element::register(
Some(plugin),
- "rtponvifdepay",
+ "onvifmetadatacombiner",
gst::Rank::Primary,
- OnvifDepay::static_type(),
+ OnvifMetadataCombiner::static_type(),
)
}
diff --git a/net/onvif/src/onvifdepay/imp.rs b/net/onvif/src/onvifmetadatadepay/imp.rs
index 41a8b58a3..130009a8d 100644
--- a/net/onvif/src/onvifdepay/imp.rs
+++ b/net/onvif/src/onvifmetadatadepay/imp.rs
@@ -12,30 +12,30 @@ struct State {
}
#[derive(Default)]
-pub struct OnvifDepay {
+pub struct OnvifMetadataDepay {
state: Mutex<State>,
}
static CAT: Lazy<gst::DebugCategory> = Lazy::new(|| {
gst::DebugCategory::new(
- "onvifdepay",
+ "rtponvifmetadatadepay",
gst::DebugColorFlags::empty(),
Some("ONVIF metadata depayloader"),
)
});
#[glib::object_subclass]
-impl ObjectSubclass for OnvifDepay {
- const NAME: &'static str = "GstOnvifDepay";
- type Type = super::OnvifDepay;
+impl ObjectSubclass for OnvifMetadataDepay {
+ const NAME: &'static str = "GstOnvifMetadataDepay";
+ type Type = super::OnvifMetadataDepay;
type ParentType = gst_rtp::RTPBaseDepayload;
}
-impl ObjectImpl for OnvifDepay {}
+impl ObjectImpl for OnvifMetadataDepay {}
-impl GstObjectImpl for OnvifDepay {}
+impl GstObjectImpl for OnvifMetadataDepay {}
-impl ElementImpl for OnvifDepay {
+impl ElementImpl for OnvifMetadataDepay {
fn metadata() -> Option<&'static gst::subclass::ElementMetadata> {
static ELEMENT_METADATA: Lazy<gst::subclass::ElementMetadata> = Lazy::new(|| {
gst::subclass::ElementMetadata::new(
@@ -81,7 +81,7 @@ impl ElementImpl for OnvifDepay {
}
}
-impl RTPBaseDepayloadImpl for OnvifDepay {
+impl RTPBaseDepayloadImpl for OnvifMetadataDepay {
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();
diff --git a/net/onvif/src/onvifpay/mod.rs b/net/onvif/src/onvifmetadatadepay/mod.rs
index 18b4a8a30..fd539c9f4 100644
--- a/net/onvif/src/onvifpay/mod.rs
+++ b/net/onvif/src/onvifmetadatadepay/mod.rs
@@ -4,14 +4,14 @@ use gst::prelude::*;
mod imp;
glib::wrapper! {
- pub struct OnvifPay(ObjectSubclass<imp::OnvifPay>) @extends gst_rtp::RTPBasePayload, gst::Element, gst::Object;
+ pub struct OnvifMetadataDepay(ObjectSubclass<imp::OnvifMetadataDepay>) @extends gst_rtp::RTPBaseDepayload, gst::Element, gst::Object;
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
gst::Element::register(
Some(plugin),
- "rtponvifpay",
+ "rtponvifmetadatadepay",
gst::Rank::Primary,
- OnvifPay::static_type(),
+ OnvifMetadataDepay::static_type(),
)
}
diff --git a/net/onvif/src/onvifoverlay/imp.rs b/net/onvif/src/onvifmetadataoverlay/imp.rs
index f6042a0ae..557b7b778 100644
--- a/net/onvif/src/onvifoverlay/imp.rs
+++ b/net/onvif/src/onvifmetadataoverlay/imp.rs
@@ -13,9 +13,9 @@ use minidom::Element;
static CAT: Lazy<gst::DebugCategory> = Lazy::new(|| {
gst::DebugCategory::new(
- "onvifoverlay",
+ "onvifmetadataoverlay",
gst::DebugColorFlags::empty(),
- Some("ONVIF overlay element"),
+ Some("ONVIF metadata overlay element"),
)
});
@@ -64,15 +64,18 @@ impl Default for Settings {
}
}
-pub struct OnvifOverlay {
+pub struct OnvifMetadataOverlay {
srcpad: gst::Pad,
sinkpad: gst::Pad,
state: Mutex<State>,
settings: Mutex<Settings>,
}
-impl OnvifOverlay {
- fn negotiate(&self, element: &super::OnvifOverlay) -> Result<gst::FlowSuccess, gst::FlowError> {
+impl OnvifMetadataOverlay {
+ fn negotiate(
+ &self,
+ element: &super::OnvifMetadataOverlay,
+ ) -> Result<gst::FlowSuccess, gst::FlowError> {
let video_info = {
let state = self.state.lock().unwrap();
match state.video_info.as_ref() {
@@ -288,7 +291,12 @@ impl OnvifOverlay {
}
// Update our overlay composition with a set of rectangles
- fn overlay_shapes(&self, state: &mut State, element: &super::OnvifOverlay, shapes: Vec<Shape>) {
+ fn overlay_shapes(
+ &self,
+ state: &mut State,
+ element: &super::OnvifMetadataOverlay,
+ shapes: Vec<Shape>,
+ ) {
if shapes.is_empty() {
state.composition = None;
return;
@@ -382,7 +390,7 @@ impl OnvifOverlay {
fn sink_chain(
&self,
pad: &gst::Pad,
- element: &super::OnvifOverlay,
+ element: &super::OnvifMetadataOverlay,
mut buffer: gst::Buffer,
) -> Result<gst::FlowSuccess, gst::FlowError> {
gst::trace!(CAT, obj: pad, "Handling buffer {:?}", buffer);
@@ -684,7 +692,12 @@ impl OnvifOverlay {
self.srcpad.push(buffer)
}
- fn sink_event(&self, pad: &gst::Pad, element: &super::OnvifOverlay, event: gst::Event) -> bool {
+ fn sink_event(
+ &self,
+ pad: &gst::Pad,
+ element: &super::OnvifMetadataOverlay,
+ event: gst::Event,
+ ) -> bool {
use gst::EventView;
gst::log!(CAT, obj: pad, "Handling event {:?}", event);
@@ -714,23 +727,23 @@ impl OnvifOverlay {
}
#[glib::object_subclass]
-impl ObjectSubclass for OnvifOverlay {
- const NAME: &'static str = "GstOnvifOverlay";
- type Type = super::OnvifOverlay;
+impl ObjectSubclass for OnvifMetadataOverlay {
+ const NAME: &'static str = "GstOnvifMetadataOverlay";
+ type Type = super::OnvifMetadataOverlay;
type ParentType = gst::Element;
fn with_class(klass: &Self::Class) -> Self {
let templ = klass.pad_template("sink").unwrap();
let sinkpad = gst::Pad::builder_with_template(&templ, Some("sink"))
.chain_function(|pad, parent, buffer| {
- OnvifOverlay::catch_panic_pad_function(
+ OnvifMetadataOverlay::catch_panic_pad_function(
parent,
|| Err(gst::FlowError::Error),
|overlay, element| overlay.sink_chain(pad, element, buffer),
)
})
.event_function(|pad, parent, event| {
- OnvifOverlay::catch_panic_pad_function(
+ OnvifMetadataOverlay::catch_panic_pad_function(
parent,
|| false,
|overlay, element| overlay.sink_event(pad, element, event),
@@ -755,7 +768,7 @@ impl ObjectSubclass for OnvifOverlay {
}
}
-impl ObjectImpl for OnvifOverlay {
+impl ObjectImpl for OnvifMetadataOverlay {
fn properties() -> &'static [glib::ParamSpec] {
static PROPERTIES: Lazy<Vec<glib::ParamSpec>> = Lazy::new(|| {
vec![glib::ParamSpecString::builder("font-desc")
@@ -802,13 +815,13 @@ impl ObjectImpl for OnvifOverlay {
}
}
-impl GstObjectImpl for OnvifOverlay {}
+impl GstObjectImpl for OnvifMetadataOverlay {}
-impl ElementImpl for OnvifOverlay {
+impl ElementImpl for OnvifMetadataOverlay {
fn metadata() -> Option<&'static gst::subclass::ElementMetadata> {
static ELEMENT_METADATA: Lazy<gst::subclass::ElementMetadata> = Lazy::new(|| {
gst::subclass::ElementMetadata::new(
- "ONVIF overlay",
+ "ONVIF Metadata overlay",
"Video/Overlay",
"Renders ONVIF analytics meta over raw video frames",
"Mathieu Duponchelle <mathieu@centricular.com>",
diff --git a/net/onvif/src/onvifoverlay/mod.rs b/net/onvif/src/onvifmetadataoverlay/mod.rs
index d37635e50..02059ea45 100644
--- a/net/onvif/src/onvifoverlay/mod.rs
+++ b/net/onvif/src/onvifmetadataoverlay/mod.rs
@@ -4,14 +4,14 @@ use gst::prelude::*;
mod imp;
glib::wrapper! {
- pub struct OnvifOverlay(ObjectSubclass<imp::OnvifOverlay>) @extends gst::Element, gst::Object;
+ pub struct OnvifMetadataOverlay(ObjectSubclass<imp::OnvifMetadataOverlay>) @extends gst::Element, gst::Object;
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
gst::Element::register(
Some(plugin),
- "onvifoverlay",
+ "onvifmetadataoverlay",
gst::Rank::Primary,
- OnvifOverlay::static_type(),
+ OnvifMetadataOverlay::static_type(),
)
}
diff --git a/net/onvif/src/onvifpay/imp.rs b/net/onvif/src/onvifmetadatapay/imp.rs
index 2fb84a0a6..1d2e09f81 100644
--- a/net/onvif/src/onvifpay/imp.rs
+++ b/net/onvif/src/onvifmetadatapay/imp.rs
@@ -5,20 +5,20 @@ use gst_rtp::subclass::prelude::*;
use once_cell::sync::Lazy;
#[derive(Default)]
-pub struct OnvifPay {}
+pub struct OnvifMetadataPay {}
#[glib::object_subclass]
-impl ObjectSubclass for OnvifPay {
- const NAME: &'static str = "GstOnvifPay";
- type Type = super::OnvifPay;
+impl ObjectSubclass for OnvifMetadataPay {
+ const NAME: &'static str = "GstOnvifMetadataPay";
+ type Type = super::OnvifMetadataPay;
type ParentType = gst_rtp::RTPBasePayload;
}
-impl ObjectImpl for OnvifPay {}
+impl ObjectImpl for OnvifMetadataPay {}
-impl GstObjectImpl for OnvifPay {}
+impl GstObjectImpl for OnvifMetadataPay {}
-impl ElementImpl for OnvifPay {
+impl ElementImpl for OnvifMetadataPay {
fn metadata() -> Option<&'static gst::subclass::ElementMetadata> {
static ELEMENT_METADATA: Lazy<gst::subclass::ElementMetadata> = Lazy::new(|| {
gst::subclass::ElementMetadata::new(
@@ -64,7 +64,7 @@ impl ElementImpl for OnvifPay {
}
}
-impl RTPBasePayloadImpl for OnvifPay {
+impl RTPBasePayloadImpl for OnvifMetadataPay {
fn handle_buffer(
&self,
element: &Self::Type,
diff --git a/net/onvif/src/onvifaggregator/mod.rs b/net/onvif/src/onvifmetadatapay/mod.rs
index 50513f861..f240feb65 100644
--- a/net/onvif/src/onvifaggregator/mod.rs
+++ b/net/onvif/src/onvifmetadatapay/mod.rs
@@ -4,14 +4,14 @@ use gst::prelude::*;
mod imp;
glib::wrapper! {
- pub struct OnvifAggregator(ObjectSubclass<imp::OnvifAggregator>) @extends gst_base::Aggregator, gst::Element, gst::Object;
+ pub struct OnvifMetadataPay(ObjectSubclass<imp::OnvifMetadataPay>) @extends gst_rtp::RTPBasePayload, gst::Element, gst::Object;
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
gst::Element::register(
Some(plugin),
- "onvifaggregator",
+ "rtponvifmetadatapay",
gst::Rank::Primary,
- OnvifAggregator::static_type(),
+ OnvifMetadataPay::static_type(),
)
}