Sebastian Dröge
5d44e0eb3c
rtp: Move GCC bandwidth estimation element from webrtc to rtp plugin
2022-10-23 20:25:08 +03:00
Sebastian Dröge
20ad9175d8
Make GStreamer plugin/crate/library/directory names and descriptions consistent
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/238
2022-10-23 20:25:08 +03:00
Sebastian Dröge
45168639e9
Rename rtpav1 plugin to just rtp
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/243
2022-10-23 20:04:43 +03:00
Sebastian Dröge
f058a5e229
Various minor cleanups
2022-10-22 19:50:24 +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
7b5d887c5b
onvifmetadatacombiner: On timeout don't wait for metadata to arrive anymore but output the current video frame
...
Otherwise it will be too late downstream.
2022-10-21 07:08:46 +00:00
Sebastian Dröge
09ffeaf04e
onvifmetadatacombiner: Add a lot of trace debug output
2022-10-21 07:08:46 +00:00
Thibault Saunier
5c89c3db69
webrtc: Rename and add to meson build the signalling server
...
The binary was only called `server` it has been renamed to
`gst-webrtc-signalling-server` and is installed in meson.
2022-10-20 18:20:15 +00:00
Thibault Saunier
cbdd3a7f26
webrtc: Enhance documentation
2022-10-20 12:04:43 +00:00
Sebastian Dröge
c0bf05d4bb
webrtc: Minor cleanup
2022-10-20 13:20:32 +03:00
Thibault Saunier
71ed04d89b
webrtc: Rename signaller and protocol crates
2022-10-20 13:32:31 +02:00
Thibault Saunier
25bda89ac8
webrtc: Update an unify rust-version and edition
...
So it all matches the rest of the plugins
2022-10-20 13:32:31 +02:00
Thibault Saunier
4942a916a8
webrtc: Uniformise GType names
2022-10-20 13:32:31 +02:00
Thibault Saunier
37c0239aff
webrtc: Port to new ElementBuilder API
2022-10-20 13:32:31 +02:00
Thibault Saunier
ad78936365
webrtc: Enable more documentation
2022-10-20 13:32:31 +02:00
Thibault Saunier
0f0dec7fa9
webrtc: Fix fmt issues
2022-10-20 11:51:59 +02:00
Thibault Saunier
5ab7be6124
webrtc: Add SDPX license header on every file
2022-10-20 11:51:58 +02:00
Thibault Saunier
39c0dcb0d4
Plug webrtc in
2022-10-20 11:51:58 +02:00
Thibault Saunier
b164daf510
webrtc: Fix clippy issues
2022-10-20 11:51:58 +02:00
Thibault Saunier
87fd49a9bf
webrtc:signalling: Remove short option for 'host' in the cli
...
It clashes with `--help`
2022-10-20 11:51:58 +02:00
Thibault Saunier
eb9d0bb824
Merge 'webrtcsink' from 020c7e2900
2022-10-20 11:51:58 +02:00
Sebastian Dröge
12400b6b87
Update everything for element factory builder API changes
...
And set properties as part of object construction wherever it makes
sense.
2022-10-19 19:43:29 +03:00
Sebastian Dröge
9ce8e93c63
rtpav1pay: Track last known upstream PTS/DTS in case not all OBUs are properly timestamped
2022-10-19 15:42:48 +03:00
Sebastian Dröge
36861edf9a
rtpav1pay: Use a VecDeque
instead of a Vec
for the queued OBUs
...
And use a `Vec` plus offset for consuming partial byte buffers.
Removing the first element from a `Vec` repeatedly is not very cheap.
Also simplify calculation of the current packet by removing a mostly
unused type and keeping track of the calculations always locally instead
of sometimes storing it in the element state.
2022-10-19 15:23:10 +03:00
Sebastian Dröge
24b7cfc841
Update for GStreamer API changes
2022-10-18 19:26:52 +03:00
Arun Raghavan
03b03fe2dd
whipsink: Log error body along with status code when POST fails
2022-10-18 17:01:36 +02:00
Thibault Saunier
5e7537953c
webrtc: Move to net/webrtc
2022-10-18 15:18:53 +02:00
Sanchayan Maity
c63307e6d7
net/webrtc-http: whipsink: Return a proper error message & not panic
...
On a server error, we currently crash and panic. Return a proper error
message instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/914 >
2022-10-18 10:38:57 +00: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
Arun Raghavan
e66378d254
aws: Add a test for s3src/s3sink
...
This does rely on AWS credentials being provided in the environment, but
the test will be ignored if those are missing.
2022-10-18 09:51:34 +00:00
Sebastian Dröge
e17688a2da
Update for pango API changes
2022-10-17 20:02:02 +03:00
Vivia Nikolaidou
0ab965335f
onvifmetadataoverlay, cea608overlay: Fix pangocairo::FontMap::new()
...
It doesn't return an Option anymore.
2022-10-14 18:12:33 +03:00
Vivia Nikolaidou
f11b0fa5eb
plugins, examples, tutorials: Use AudioCapsBuilder and VideoCapsBuilder
...
Simplify caps creation code
2022-10-13 19:24:57 +00:00
Sebastian Dröge
862c2af1d9
ndi: Remove unnecessary explicit Send+Sync
impls
...
These are automatically available now.
2022-10-13 17:54:08 +00:00
Vivia Nikolaidou
dbd5a44b90
hlssink3: Use #[cfg(feature = "doc")] on gst::prelude import
...
It otherwise gives a warning about the unused import
2022-10-13 14:22:36 +03:00
Sebastian Dröge
5f19639d0f
ndi: Various code cleanup
2022-10-13 08:52:52 +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
97e0852156
ndi: Add NDI plugin to the docs
2022-10-12 22:25:13 +03:00
Sebastian Dröge
53b02a82ae
ndi: Re-organize code a bit and don't make internal modules public
2022-10-12 22:09:56 +03:00
Sebastian Dröge
0a2e6e47c9
ndi: Silence some more clippy warnings
2022-10-12 22:09:55 +03:00
Sebastian Dröge
db8037d16c
ndi: Update for pad default functions API changes
2022-10-12 22:09:55 +03:00
Sebastian Dröge
3fe9e4a207
ndi: Implement dynamic loading of the NDI SDK
...
And build the plugin on the CI and via meson.
2022-10-12 22:09:53 +03:00
Sebastian Dröge
16c036e2cc
ndi: Make element factory details and debug categories more consistent
2022-10-12 21:29:07 +03:00
Sebastian Dröge
907910329f
ndi: Prefix GType names with Gst
2022-10-12 21:29:07 +03:00
Sebastian Dröge
047f990c78
ndi: Integrate into the build system
2022-10-12 21:29:07 +03:00
Sebastian Dröge
a000432b13
ndi: Relicense plugin from LGPL-2.1 to MPL-2
...
This was agreed to by all previous contributors in writing.
2022-10-12 21:29:07 +03:00
Sebastian Dröge
fb8192f40b
ndi: Remove unnecessary reference-timestamps feature
2022-10-12 21:29:07 +03:00
Vivia Nikolaidou
fedd67dcaa
ndi: Use AudioCapsBuilder and VideoCapsBuilder
...
Simplify caps creation codes
2022-10-12 21:29:07 +03:00
Vivia Nikolaidou
95e8deded9
ndi: Simplify code using ParamSpecBuilder
2022-10-12 21:29:07 +03:00
Vivia Nikolaidou
77a5e35081
ndi: Update to git version of the bindings
2022-10-12 21:29:07 +03:00
Vivia Nikolaidou
18cbb587ba
ndisrcdemux: Add no-more-pads signal
...
Emit no-more-pads if we are adding the second pad of the element.
2022-10-12 21:29:07 +03:00
Sebastian Dröge
1c43a51520
ndisrcdemux: Use ANY caps in the pad templates of ndisrcdemux
...
When using the Advanced SDK it is possible to output compressed formats
too.
2022-10-12 21:29:07 +03:00
Sebastian Dröge
26f843a89f
ndisrc: Fix latency reporting in auto timestamp mode
2022-10-12 21:29:07 +03:00
Sebastian Dröge
9c10ba87df
ndisrc: Improve handling of broken sources with regards to timestamping
...
- NDI HX Camera Android in the past used 1ns instead of 100ns as unit
for timecodes/timestamps.
- NDI HX Camera iOS uses 0 for all timecodes and the same non-zero
value for all audio timestamps
Detect such situations and try to compensate for them. Also add a new
"auto" timestamping mode that prefers to use timecodes and otherwise
falls back to timestamps or receive times.
Fixes https://github.com/teltek/gst-plugin-ndi/issues/79
2022-10-12 21:29:07 +03:00
Sebastian Dröge
a3c752830b
ndisrc: Keep track of audio/video and timestamp/timecode observations separately
...
Audio/video are in practice not always from the same clock and can have
different behaviours with regards to clock rate and jitter. Handling
them separately generally gives better results for the timestamps output
by the source element.
2022-10-12 21:29:07 +03:00
Sebastian Dröge
b82acb9ca9
ndisrc: Remove unnecessary Arc around the timestamp observations and use AtomicRefCell instead of Mutex
2022-10-12 21:29:07 +03:00
Sebastian Dröge
718734ab18
ndi: Fix/silence various clippy warnings
2022-10-12 21:29:07 +03:00
Sebastian Dröge
7a90500fe7
Merge branch 'master' of https://github.com/teltek/gst-plugin-ndi
2022-10-12 21:27:56 +03:00
Sebastian Dröge
e49138516c
Update for pad default functions API changes
2022-10-12 19:50:15 +03:00
Sebastian Dröge
9c540d8abb
Move everything to net/ndi for preparing to merge into gst-plugins-rs
2022-10-12 19:25:32 +03:00
François Laignel
bc5b51687d
fix formatted values constructors
...
In restrospect, building formatted values using operations on the
`ONE` constant doesn't seem idiomatic. This commit uses new panicking
constructors instead.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1122
2022-10-11 15:06:53 +02:00
François Laignel
bd14e476f1
Fix direct access to the inner specific formatted values
...
This is no longer available as this could lead to building a defined
value in Rust which could be interpreted as undefined in C due to
the sentinel `u64::MAX` for `None`.
Use the constants (e.g. `ONE`, `K`, `M`, ...) and operations to build
a value and deref (`*`) to get the quantity as an integer.
2022-10-10 19:28:13 +02: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
4c57a97d4d
Update for glib::Object::new() API changes
2022-10-07 23:54:53 +03:00
Nirbheek Chauhan
1d4d3e4cb0
build: Update versions to be 0.9.0-alpha.1
...
0.9.0 is the next release, so we can't name things that already.
Also the version in meson.build was 0.13.0, which is completely wrong.
2022-10-04 21:27:23 +05:30
Sebastian Dröge
8601562efe
onvif: Fix for gst::meta::CustomMeta::register()
API change
2022-09-29 17:48:27 +03:00
Sebastian Dröge
0b81ed2e34
rtpav1: Use GStreamer types by namespace instead of importing dozens of types directly into the scope
...
For consistency with other plugins and to reduce confusion of where
types actually come from.
2022-09-28 08:14:07 +00:00
Sebastian Dröge
5774d9c9ee
rtpav1: Reset state on FlushStop/Eos in all conditions and reset all of the state
2022-09-28 08:14:07 +00: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
0b7259afac
Fixes for removal of SpecificFormattedValues ops on ref
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/874 >
2022-09-22 12:18:49 +02:00
François Laignel
caefa6d33e
net/onvif: update with new gst::Signed
features
2022-09-21 17:45:22 +00:00
Sebastian Dröge
c32f0ca12e
rtpav1: Specify version helper dependency by path
...
It's in the same repository after all.
2022-09-21 11:17:44 +03:00
Sebastian Dröge
6a10728d94
aws: Update to aws 0.48/0.18
2022-09-21 11:17:44 +03:00
Sebastian Dröge
1fa39d0ab4
onvifmetadatacombiner: Drop gap metadata buffers
...
They won't have a reference timestamp metadata set and are not useful
for further processing.
2022-09-16 14:54:33 +03: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
18f3edd3ee
Add missing Since markers to new plugins
2022-09-15 09:40:53 +03:00
rajneeshksoni
45962eca1c
s3sink, s3src: Max 1 (re)try when retry-duration < request_timeout.
...
When retry-duration is less than request_timeout, only 1 try
is attempted.
2022-09-13 08:02:54 +00:00
rajneeshksoni
62f76e1e8b
s3sink: Dont set call_timeout,call_attempt_timeout is enough with retry.
...
When call_timeout is triggered, request will fail
irrespective of the retry setting. call_timeout define
max time request can take along with retry.
It can be solved by either setting call_timeout to
retry * call_attempt_timeout or not setting the call_timeout.
As per thread call_attempt and rety setting is enough.
https://github.com/awslabs/aws-sdk-rust/issues/558
2022-09-13 08:02:54 +00:00
Sebastian Dröge
cc0ef5290f
rtpav1depay: Don't unnecessary map RTP payload a second time
...
`RTPBuffer` already has it mapped internally and can give direct access
to it as byte slice.
2022-09-12 18:14:39 +03:00
Sebastian Dröge
7edc9e656f
rtpav1pay: Don't push buffers downstream while holding mutexes
...
And also push all packets that can be generated as a time as a single
buffer list instead of one by one.
2022-09-12 18:14:39 +03:00
Sebastian Dröge
f9a8e121e1
rtpav1: Remove some unneeded lifetime annotations
2022-09-12 18:14:39 +03:00
Vivienne Watermeier
8d73b5008a
Add RTP de/payloader elements for AV1
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/881
2022-09-12 18:14:39 +03:00
Thibault Saunier
528bbcf67e
onvifmetadatacombiner: Do not classify as Muxer
...
It confuses `encodebin` and technically it is not really a muxer so
as agreed on IRC, I am proposing to remove that classification.
2022-09-09 10:01:12 +03:00
Mathieu Duponchelle
419cc03133
awstranscriber: only set vocabulary filter when vocabulary is set
...
AWS otherwise refuses to start the transcription.
2022-09-09 06:53:54 +00:00
Mathieu Duponchelle
72b659b3ea
awstranscriber: fix set_property for language-code
2022-09-09 06:53:54 +00:00
Sebastian Dröge
1a40186485
Update for GLib ParamSpec builder API changes
2022-09-05 11:45:47 +03:00
Sebastian Dröge
46dddaf31c
Update minimum supported Rust version to 1.63
2022-09-04 21:31:55 +03:00
Xavier Claessens
16f9c37c71
Fix missing pkgconfig requires
2022-09-02 22:00:57 +00:00
Taruntej Kanakamalla
67e9ba8286
whipsink: A GstBin implementation for WHIP
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1410
Created a new plugin 'webrtchttp' to implement all the
WebRTC HTTP protocols under /net/webrtc-http directory.
WhipSink wraps around 'webrtcbin' with HTTP capabilites
to exchange SDP offer/answer so an ICE/DTLS session can
be established between the encoder/media producer (WHIP client)
and the broadcasting ingestion endpoint (Media Server).
Once the ICE/DTLS session is set up, the media will
flow unidirectionally from the WHIP client to the
broadcasting ingestion endpoint (Media Server).
Spec:
https://www.ietf.org/archive/id/draft-ietf-wish-whip-04.html
2022-09-03 00:18:59 +03:00
Sebastian Dröge
827099d22d
aws: Update to aws 0.18/0.48
2022-09-02 10:46:02 +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
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
16d804e761
doc: Mark request::user-agent as doc show default
2022-08-29 18:33:22 -04: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
Arun Raghavan
56e7a2f6ab
aws: Document the s3hlssink element in README
2022-08-23 06:19:39 -04:00
Vivia Nikolaidou
5606111345
plugins: Simplify code using ParamSpecBuilder
2022-08-22 17:58:43 +03:00
Sebastian Dröge
374bb8323f
Fix build after glib SignalBuilder::param_types() API change
2022-08-17 23:37:39 +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
05207cafea
raptorq: Derive Eq
for some more structs
...
warning: you are deriving `PartialEq` and can implement `Eq`
--> net/raptorq/src/fecscheme.rs:13:24
|
13 | #[derive(Clone, Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= note: `#[warn(clippy::derive_partial_eq_without_eq)]` on by default
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
warning: you are deriving `PartialEq` and can implement `Eq`
--> net/raptorq/src/fecscheme.rs:38:24
|
38 | #[derive(Clone, Debug, PartialEq)]
| ^^^^^^^^^ help: consider deriving `Eq` as well: `PartialEq, Eq`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_partial_eq_without_eq
2022-08-09 13:40:39 +00:00
Sebastian Dröge
cbb55c2322
hlssink3: Update to m3u8-rs 5
2022-08-09 13:40:39 +00:00
Sebastian Dröge
8b11aee04d
aws: Update to aws 0.17/0.47
2022-08-09 13:40:39 +00:00
Mathieu Duponchelle
f646cabb3d
aws_transcriber: expose filtering related properties
...
- vocabulary-filter-name allows picking a vocabulary to filter words
- vocabulary-filter-method allows controlling how words are filtered
2022-08-09 12:14:31 +00:00
Sanchayan Maity
d240bbc4e2
aws_transcriber: Fix regression with credentials mechanism
...
A regression was introduced during the migration to AWS SDK. One used
to be able to provide credentials in multiple ways with the earlier
Rusoto ChainProvider (config file / environment variables). Now one
has to explicitly set the properties.
Use the DefaultCredentialsChain from AWS SDK to restore the previous
functionality.
See
https://docs.rs/aws-config/0.46.0/aws_config/default_provider/credentials/struct.DefaultCredentialsChain.html .
2022-08-04 12:15:32 +00:00
Sanchayan Maity
a4893f30c8
net/aws: Add support for specifying endpoint
...
Allow specifying an endpoint to be used for S3 requests. This makes
it possible to use integrations providing object storage based on S3
API like MinIO.
When the endpoint-uri property is specified, the endpoint resolver to
use will be overridden when making S3 requests.
2022-08-04 10:37:37 +05:30
Bilal Elmoussaoui
52973d975e
Update per glib::SignalBuilder changes
2022-07-21 20:03:13 +02:00
Tomasz Andrzejak
14160d1d31
Add RaptorQ RTP FEC plugins
2022-07-20 13:34:58 +00:00
Sebastian Dröge
42b6c32f34
onvif: Update to minidom 0.15
2022-07-18 11:21:04 +03:00
adde6fc4e3
hlssink3: convert playlist type to an enum
...
Change the property `playlist-type` to an enum. We also expose the
new enum externally from the crate so users of Rust can directly use it.
2022-07-08 11:24:32 +02:00
Rajneesh Soni
08c6ab29e1
hlssink3: Put EXT-X-ENDLIST for vod playlist-type.
...
Ideally, when player encounter PLAYLIST-TYPE is VOD, player should
not reload the playlist. For playlist-type=vod, initially we put
PLAYLIST-TYPE=EVENT, and later change it to VOD, which confuse some
players so we shold put ENDLIST here.
In any case putting ENDLIST is right thing to do to indicate no new
segment will be added to playlist.
2022-07-04 15:15:20 +00:00
Rajneesh Soni
4ff2c8f1bc
hlssink3: Dont reset end_list after stop is called.
...
in current implementation EXT-X-ENDLIST is never set for any playlist-type.
After calling playlist.stop(), during write_final_playlist() is called.
in final playlist write, segment is not added but update_playlist is called.
and update_playlist reset end_list again, so plugin never put ENDLIST.
2022-07-04 15:15:20 +00:00
Sebastian Dröge
88bb91a5cb
aws: Update to aws 0.15/0.45
2022-07-04 10:20:43 +03:00
Sebastian Dröge
51c7d0652e
Fix/silence a couple new clippy warnings
2022-06-30 16:07:32 +03:00
Sanchayan Maity
a85a647794
net/aws: Add support for S3 HLS sink
...
This is a helper bin allowing the output of HLS sink to be uploaded
to S3.
2022-06-29 17:35:37 +00:00
Sanchayan Maity
e0594ef349
net/aws/aws_transcriber: Fix clippy warning
2022-06-29 17:35:37 +00:00
Sanchayan Maity
7bc785fba3
net/aws: Clean up pending rusoto references
2022-06-29 17:35:37 +00:00
Sebastian Dröge
cb84206457
Fix a couple of new 1.62 clippy warnings
2022-06-28 14:52:20 +03:00
Sebastian Dröge
5c00db62b7
aws: Update to aws 0.14/0.44
2022-06-27 10:11:16 +03:00
Rajneesh Soni
b3e558bec0
aws: s3sink,s3src,transcriber: Add property to set temporary credentials.
...
STS provide temporary credentials to access AWS resource. Temporary
credentials include, AccessKeyId, SecretAccessKey and SessionToken.
With session-token property, element will be able to use temporary
credentials. When session-token is not set, element can use long
term credentials.
2022-06-22 18:45:41 +00:00
Sebastian Dröge
d902ecca4f
aws: Update to aws 0.13/0.43
2022-06-21 06:45:24 +00: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
Sanchayan Maity
19f69614a2
aws: s3sink: Add a deprecation warning for retry duration properties
...
Keeping the upload-part-retry-duration & complete-upload-retry-duration
properties changes the semantics in comparison to their usage in
rusotos3sink. Deprecate these two properties and add a warning while
making them noop.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/759 >
2022-06-14 08:03:49 +00:00
Sanchayan Maity
511ee766df
Rename rusoto to aws
...
Now that migration to AWS SDK is complete, rename directory and
references to aws/AWS SDK.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/759 >
2022-06-14 08:03:49 +00:00
Sanchayan Maity
81437bb1c9
net/rusoto: Rename to aws
...
Rename all the elements to use aws prefix now but still register a
backwards compat element factory.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/759 >
2022-06-14 08:03:49 +00:00
Sanchayan Maity
2b0bf218b1
net/rusoto: Drop rusoto crates
...
Now that all elements are migrated to AWS SDK drop the rusoto
dependencies.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/759 >
2022-06-14 08:03:49 +00:00
Sanchayan Maity
753425507a
Migrate transcriber to aws sdk
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/759 >
2022-06-14 08:03:49 +00:00
Sanchayan Maity
768fad2445
Migrate s3src and s3sink to use AWS SDK
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/759 >
2022-06-14 08:03:49 +00: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
817231b4d0
hlssink3: PadTemplate::name_template()
returns a &str
now instead of Option<String>
2022-05-08 13:31:10 +03: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
Sebastian Dröge
3e10efa134
rusoto: Update to crc 3 and rusoto 0.48
2022-04-26 11:22:24 +03:00
Sebastian Dröge
9e3f713aa9
Update to m3u8-rs 4.0
2022-04-14 07:41:18 +00:00