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