Sebastian Dröge
7e59c3f0fd
Remove once_cell dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1868 >
2024-10-21 17:53:18 +00:00
Sebastian Dröge
98b28d69ce
Update for new debug log macro syntax
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1658 >
2024-07-08 11:25:23 +03:00
Sebastian Dröge
9b323a6519
Use Option::is_some_and(...)
instead of Option::map_or(false, ...)
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1630 >
2024-06-19 13:03:37 +00:00
Sebastian Dröge
7757e06e36
onvifmetadataparse: Reset state in PAUSED->READY after pad deactivation
...
Otherwise the clock id will simply be overridden instead of unscheduling
it, and if the streaming thread of the source pad currently waits on it
then it will wait potentially for a very long time and deactivating the
pad would wait for that to happen.
Also unschedule the clock id on `Drop` of the state to be one the safe
side and not simply forget about it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1526 >
2024-04-05 15:19:37 +00:00
Sebastian Dröge
4ad101b53b
Use once_cell crate directly again
...
The glib crate does not depend on it anymore and also does not re-export
it anymore.
Also switch some usages of OnceCell to OnceLock from std.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1441 >
2024-01-31 18:07:57 +02:00
Sebastian Dröge
16b917abb1
Update for gst::Rank
API changes
2023-11-02 14:10:59 +02:00
Sebastian Dröge
b12278e334
onvifmetadataparse: Skip metadata frames with unrepresentable UTC time
...
Previously we would panic, which causes the element to post an error
message. Instead, simply skip metadata frames if their UTC time since
the UNIX epoch can't be represented as nanoseconds in u64.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1326 >
2023-09-16 10:59:27 +03:00
Bilal Elmoussaoui
dd2d7d9215
Use re-exported once_cell
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1268 >
2023-07-06 17:50:49 +03:00
Bilal Elmoussaoui
2cc98bf410
Adapt to glib::Continue rename
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1268 >
2023-07-06 17:50:49 +03:00
François Laignel
7ba0073052
use Pad builders for optional name definition
...
Also, apply auto-naming in the following cases
* When building from a non wildcard-named template, the name of the template is
automatically assigned to the Pad. User can override with a specific name by
calling `name()` on the `PadBuilder`.
* When building with a target and no name was provided via the above, the
GhostPad is named after the target.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/448
Auto-naming discussion: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1255#note_1891181
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1197 >
2023-05-12 12:55:31 +02:00
Sebastian Dröge
9a68f6e221
Move from imp.instance()
to imp.obj()
...
It's doing the same thing and is shorter.
2022-10-23 23:08:46 +03:00
Sebastian Dröge
f045099fc1
Fix GObject type names, GStreamer debug category names and element factory names
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/198
2022-10-23 20:46:08 +03:00
François Laignel
6319d104a8
Take advantage of Into<Option<_>>
args
...
Commit 24b7cfc8
applied changes related to nullability as declared
by gir. One consequence was that some functions signature ended up
requiring users to pass `Some(val)` when they could use `val`
before.
This commit applies changes on `gstreamer-rs` which, will honoring
the nullability stil allow users to pass `val` for the few affected
functions.
This commit also fixes the signature for `Element::request_new_pad`
which was updated upstream.
2022-10-21 11:54:24 +02:00
Sebastian Dröge
24b7cfc841
Update for GStreamer API changes
2022-10-18 19:26:52 +03:00
François Laignel
8011eadfd2
Use new format constructors
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1128
2022-10-18 10:36:59 +00:00
Sebastian Dröge
b2ddb34258
onvif: Switch from minidom to xmltree for parsing ONVIF timed metadata
...
minidom doesn't handle various valid but suboptimal XML documents.
2022-10-12 21:00:13 +00:00
Sebastian Dröge
e49138516c
Update for pad default functions API changes
2022-10-12 19:50:15 +03:00
Sebastian Dröge
7ee4afacf4
Change *Impl trait methods to only take &self and not Self::Type in addition
2022-10-10 15:03:25 +03:00
Sebastian Dröge
d6ab55c263
onvifmetadataparse: Schedule EOS events after the last currently queued up frame
...
Otherwise EOS might be sent before the last frame's data, or even at a
much earlier frame due to reordering.
2022-09-27 11:43:54 +00:00
Sebastian Dröge
f0b2df49dc
onvifmetadataparse: Handle negative running times in debug output
2022-09-27 11:43:54 +00:00
Sebastian Dröge
692a063528
onvifmetadataparse: Refactor clock/condvar waiting
...
Always first try draining queued data in the loop and only start waiting
if there's nothing to drain right now. Otherwise data might have to be
drained right now but we still wait and nothing is ever waking up the
source pad task again.
Also make sure to not wait multiple times on the same gst::ClockId but
instead unset it after waiting on it and no new one was scheduled in the
meantime. Future waits on the same ClockId will immediately return and
instead we should wait on the condvar if no new ClockId is available.
2022-09-23 13:26:15 +03:00
Sebastian Dröge
c4d2f4a60a
onvifmetadataparse: Start source pad task on StreamStart if needed
...
Otherwise receiving StreamStart after Eos might keep the source pad task
paused and no new data is ever pushed downstream.
2022-09-23 13:26:15 +03:00
François Laignel
caefa6d33e
net/onvif: update with new gst::Signed
features
2022-09-21 17:45:22 +00:00
Sebastian Dröge
f2893aae0b
onvifmetadataparse: Simplify some code
2022-09-16 14:54:33 +03:00
Sebastian Dröge
49602e1e01
onvifmetadataparse: Drop initial buffers until an UTC/running time mapping can be established
2022-09-16 14:54:33 +03:00
Sebastian Dröge
c6d8fec18f
onvifmetadataparse: Drop initial buffers if their UTC time would be negative
2022-09-16 14:54:33 +03:00
Sebastian Dröge
28151f2011
onvifmetadataparse: Push buffers from a separate source pad task to guarantee latency and generally improve correctness
2022-09-16 14:54:33 +03:00
Sebastian Dröge
cb339c1bf8
onvifmetadataparse: Pass through other XML as is with the UTC times based on the buffer PTSs
2022-08-31 10:33:16 +00: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
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
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