Sebastian Dröge
420f36251a
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.
2022-08-31 13:00:53 +03:00
Thibault Saunier
67e651f57c
Allow "unused_doc_comments" as we use hotdoc and not rustdoc
2022-08-29 18:33:22 -04:00
Thibault Saunier
31a53bba8a
Generate plugins documentation using hotdoc
...
Which will automatically be integrated in gstreamer documentation
2022-08-29 18:33:22 -04:00
Mathieu Duponchelle
052092cd2e
onvifmetadata: removing encoding field
...
The encoding of ONVIF metadata is always UTF-8. ONVIF metadata may
or may not be encoded with gzip, but we don't see a use case for
transporting compressed ONVIF metadata between elements for now.
2022-08-24 08:57:12 +00:00
Vivia Nikolaidou
5606111345
plugins: Simplify code using ParamSpecBuilder
2022-08-22 17:58:43 +03:00
Sebastian Dröge
9827406113
onvifmetadataparse: Use NTP reference timestamp meta
...
The times are in the NTP epoch.
2022-08-16 15:51:32 +03:00
Sebastian Dröge
be56991b73
onvifmetadataparse: use NTP epoch everywhere instead of mixing UNIX/NTP epochs
2022-08-16 14:14:24 +03:00
Mathieu Duponchelle
3011764da1
onvifaggregator: refactor, expect parsed metadata
...
The aggregator was consuming meta buffers too greedily, causing
potential interleaving starvation upstream. Refactor to consume
media and meta buffers synchronously
Also expect parsed=true metadata caps (requiring an upstream
onvifmetadataparse element).
2022-08-16 12:28:52 +03:00
Sebastian Dröge
837126be76
onvifmetadataparse: Only define the namespace prefix once for the top-level element
2022-08-12 22:35:40 +03:00
Sebastian Dröge
2b61d51e91
Remove unnecessary unsafe
blocks for Buffer::as_ptr()
2022-08-12 18:12:22 +03:00
Sebastian Dröge
35b42b88d9
onvif: Add onvifmetadataparse element
...
This splits XML metadata into separate frames and ensures properly
timestamped metadata.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/781 >
2022-08-12 14:00:27 +00:00
Sebastian Dröge
42b6c32f34
onvif: Update to minidom 0.15
2022-07-18 11:21:04 +03:00
Sebastian Dröge
51c7d0652e
Fix/silence a couple new clippy warnings
2022-06-30 16:07:32 +03:00
Mathieu Duponchelle
20d2a7d05b
onvifoverlay: render polygons when present
2022-06-15 14:32:48 +00:00
Sebastian Dröge
dfa5b9d8bb
onvifaggregator: Add support for UNIX reference timestamp metadata
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/780 >
2022-06-14 23:44:00 +02:00
Sebastian Dröge
939f37dec5
onvif: Disable default features for the chrono dependency
...
We don't need all those.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/780 >
2022-06-14 23:43:47 +02:00
Mathieu Duponchelle
ab01fc6143
onvifaggregator: refactor to support duration-less media buffers
...
For instance when dealing with a variable framerate media stream,
input media buffers may not hold a duration, in which case we try
to calculate one by waiting for the following buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/765 >
2022-05-25 17:35:04 +00:00
Mathieu Duponchelle
77260a8442
onvifaggregator: implement proper EOS support
...
We could otherwise busy loop in aggregate forever when the meta
sink pad received EOS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/765 >
2022-05-25 17:35:04 +00:00
Sebastian Dröge
dcad6ffe34
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.
2022-05-13 13:34:30 +03:00
Mathieu Duponchelle
7425b31173
onvifaggregator: always push current media buffer on timeout
...
Even when aggregator.meta_frames is empty
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/751 >
2022-05-10 14:35:50 +00:00
Sebastian Dröge
92c66be943
onvifaggregator: Update for minor PadTemplate
API changes
...
`PadTemplate::caps()` returns a reference to the caps now instead of a
new strong reference, so keeping the template in scope as long as the
caps reference is required.
2022-05-08 13:31:03 +03:00
Mathieu Duponchelle
a4a5caec53
net/onvif: implement ONVIF metadata processing elements
...
- RTP payloader and depayloader
- Aggregator to pair per-frame metadata with media frames
- Overlay to render detected shapes
2022-05-06 11:17:04 +03:00