Arun Raghavan
06213714c5
aws: putobjectsink: Fix a couple of minor log typos
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1416 >
2024-01-11 15:38:36 -05:00
Nirbheek Chauhan
2d85048925
webrtc/signalling: We get the address when accepting
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1412 >
2023-12-29 13:28:48 +00:00
Nirbheek Chauhan
63b568f4a0
webrtc/signalling: Fix potential hang and FD leak
...
If a peer connects via TCP and never initiates TLS, then the server
will get stuck in the accept loop. Spawn a task when accepting a TLS
connection, and timeout if it doesn't complete in 5 seconds.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1412 >
2023-12-29 13:28:48 +00:00
Maksym Khomenko
17f0b61576
webrtcsink: add payloader-setup signal
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1389 >
2023-12-23 08:02:08 +00:00
Sebastian Dröge
b128d127c2
aws: Disable putobjectsink tests for now
...
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/472
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1413 >
2023-12-22 13:25:12 +02:00
Arun Raghavan
6d47045a60
aws: s3sink: Fix spelling of debug category
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1337 >
2023-12-18 16:13:48 -05:00
Arun Raghavan
410d104ad6
aws: s3putobjectsink: Add a flush-on-error property
...
Makes sure we can send out data even if the pipeline shutdown in error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1337 >
2023-12-18 16:13:48 -05:00
Arun Raghavan
12dbf50ddc
aws: s3putobjectsink: Add some thresholds for flushing
...
Lets us connect when we perform a flush
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1337 >
2023-12-18 16:13:48 -05:00
Arun Raghavan
a54b2dd39e
aws: s3: Add a new awss3putobjectsink
...
When streaming small amounts of data, using awss3sink might not be a
good idea, as we need to accumulate at least 5 MB of data for a
multipart upload (or we flush on EOS).
The alternative, while inefficient, is to do a complete PutObject of
_all_ the data periodically so as to not lose data in case of a pipeline
failure. This element makes a start on this idea by doing a PutObject
for every buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1337 >
2023-12-18 10:39:23 -05:00
Sebastian Dröge
81dd45c814
webrtc: Downgrade aws-smithy-http to 0.60
...
Version 0.61 was yanked from crates.io.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1407 >
2023-12-14 09:11:07 +02:00
Sebastian Dröge
2f2bf6ca8f
webrtc: Update to aws-smithy-http 0.61
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1404 >
2023-12-09 12:21:38 +02:00
Sebastian Dröge
0bae18fe0d
rtp: Update to bitstream-io 2.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1404 >
2023-12-09 12:17:51 +02:00
Sebastian Dröge
181bd13103
Update to async-tungstenite 0.24
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1404 >
2023-12-09 12:17:11 +02:00
Guillaume Desmottes
6dfd1c1496
use new debug and parse API
...
Changes from https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1355
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1403 >
2023-12-04 15:58:21 +01:00
Sebastian Dröge
f13574d8ed
Update further AWS SDK crates to 1.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1400 >
2023-11-26 10:26:02 +02:00
Mathieu Duponchelle
cf1c7600a2
webrtcsink: don't panic on failure to request pad from webrtcbin
...
webrtcbin will refuse pad requests for all sorts of reasons, and should
be logging an error when doing so, simply post an error message and let
the application deal with it, the reason for the refusal should
hopefully be available in the logs to the user.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1399 >
2023-11-24 19:53:38 +01:00
Sebastian Dröge
c3ced8c7e6
Update to AWS SDK 1.0 / 0.60 / 0.39
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1397 >
2023-11-21 10:32:59 +02:00
Sebastian Dröge
1d9c89e3fe
Update to AWS SDK 0.101 / 0.59 / 0.38
2023-11-20 10:13:13 +02:00
Sebastian Dröge
66c62d69b9
aws: Stop using deprecated aws_config function in the test
2023-11-18 10:16:24 +02:00
Taruntej Kanakamalla
43ee6bfc1c
net/webrtc: add whipserversrc
...
Implement new signaller WhipServerSignaller
- an http server using 'warp'
- handlers for the POST, OPTIONS, PATCH and DELETE
- fixed path `/whip/endpoint` as the URI
- fixed value 'whip-client' as the producer peer id
- fixed resource url `/whip/resource/whip-client`
Derive whipserversrc element from BaseWebRTCSrc
- implement constructed method for ObjectImpl to set
non-default signaller, i.e., WhipServerSignaller
- bind the properties stun-server and turn-servers to those on
the Signaller
Connect to 'webrtcbin-ready' signal in the constructor of WhipServerSignaller
- it will be emitted by the webrtcsrc when the webrtcbin element is ready
- the closure for this signal will in turn connect to webrtcbin's ice-gathering-state
and perform send with the answer sdp via the channel
- the WhipServer will hold its HTTP response in POST handler until this signal
is received or timeout which happens early
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1284 >
2023-11-17 18:08:44 +00:00
Taruntej Kanakamalla
ed3aa740be
net/webrtc: deprecate consumer-added on the signaller
...
add a new signal webrtcbin-ready in this place doing same
thing but can be used for both consumers and producers
Please note this change is only to the consumer-added
signal on the signaller interface.
The consumer-added signal on the webrtcsink is unchanged
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1284 >
2023-11-17 18:08:44 +00:00
Taruntej Kanakamalla
2d3d03b4d3
net/webrtc: rename WhipSignaller as WhipClientSignaller
...
remove generalized names to accommodate for the WhipServer
- name the Signaller for whipsink as WhipClient
- name the Settings for whipsink as WhipClientSettings
- name the State for whipsink as WhipClientState
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1284 >
2023-11-17 18:08:44 +00:00
Taruntej Kanakamalla
a0638ec983
net/webrtc: Extract BaseWebRTCSrc
...
Define a Base for all the webrtcsrc type elements
so they can all be derived from it. Similar to base
element defined for webrtcsink type elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1284 >
2023-11-17 18:08:44 +00:00
Sebastian Dröge
dee27e35b7
Update to latest AWS SDK
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1395 >
2023-11-17 11:22:29 +02:00
Sebastian Dröge
58723f2a8c
Update to AWS SDK 0.36
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1394 >
2023-11-15 17:20:58 +02:00
François Laignel
9250c592a7
ndi: don't accumulate meta with audio only streams
...
Currently, only closed caption metadata are supported. When the next video
frame is received, pending meta are dequeued and parsed. If close captions
are found, they are attached to the video frame.
For audio only streams, it doesn't make sense to enqueue metadata. They would
accumulate in `pending_metadata` and would never be dequeued.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/460
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1392 >
2023-11-13 19:26:23 +01:00
Sebastian Dröge
39155ef81c
ndisrc: Implement zerocopy handling for the received frames if possible
...
Also move processing from the capture thread to the streaming thread.
The NDI SDK can cause frame drops if not reading fast enough from it.
All frame processing is now handled inside the ndisrcdemux.
Also use a buffer pool for video if copying is necessary.
Additionally, make sure to use different stream ids in the stream-start
event for the audio and video pad.
This plugin now requires GStreamer 1.16 or newer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1365 >
2023-11-13 13:22:48 +02:00
Sebastian Dröge
2afffb39dd
ndi: Don't mark private type as public
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1365 >
2023-11-13 10:29:25 +02:00
Sebastian Dröge
99d7cce0d6
ndi: Refactor frame structs to have static lifetimes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1365 >
2023-11-13 10:29:25 +02:00
Sebastian Dröge
eb137ec6dc
ndi: Remove wrong Clone
impl on RecvInstance
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1365 >
2023-11-13 10:29:25 +02:00
Arun Raghavan
771741c10c
Revert "s3: tests: Remove emoji-based tests for now"
...
This reverts commit a49a5dcb11
.
Now that hotdoc should work with emoji, let's bring the tests back.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1386 >
2023-11-09 11:50:53 -05:00
Maksym Khomenko
e5fd2c3568
webrtcsrc: add turn-servers property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1380 >
2023-11-04 10:19:45 +00:00
Mathieu Duponchelle
5371eb52ad
Port to AWS SDK 0.57/0.35
...
Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1379 >
2023-11-03 15:13:45 +00:00
Sebastian Dröge
f7745a336f
aws: Update to test-with 0.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1379 >
2023-11-03 15:13:45 +00:00
Sebastian Dröge
16b917abb1
Update for gst::Rank
API changes
2023-11-02 14:10:59 +02:00
Piotr Brzeziński
436b6d8efb
gstwebrtc-api: Patch webrtc-adapter to fix Safari behaviour
...
There's currently a Safari-side bug causing webrtc-adapter to be unable to correctly shim the empty-candidate scenario
which we're using. This patch is very much a workaround and should be removed as soon as Safari and/or webrtc-adapter
fixes this on their side.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/439
https://github.com/webrtcHacks/adapter/issues/1140
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1377 >
2023-10-30 16:36:11 +00:00
Sebastian Dröge
16c00ae3f5
Set sync=false in rsfilesink / s3sink
...
BaseSink defaults to sync=true and that doesn't make much sense for
these elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1376 >
2023-10-30 17:38:46 +02:00
Sebastian Dröge
855b03a9ea
Use let-else instead of match for weak reference upgrades
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1375 >
2023-10-30 11:34:35 +02:00
Sebastian Dröge
557b249e11
Update to AWS SDK 0.34 and tracing-log 0.2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1374 >
2023-10-27 10:19:15 +03:00
Arun Raghavan
d27a04e067
hlssink3: Close the playlist giostreamsink on stop if possible
...
This is a property that will be available from GStreamer 1.24, and will
ensure that we are able to flush the playlist during the READY->NULL
transition instead of when the element is freed.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/423
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1360 >
2023-10-24 21:03:14 +00:00
Arun Raghavan
a49a5dcb11
s3: tests: Remove emoji-based tests for now
...
These break hotdoc, which we need to fix first.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1333 >
2023-10-24 12:52:12 -04:00
Arun Raghavan
bb26e04a55
aws: s3: Properly percent-decode GstS3Url
...
We previously only percent-decoded the first fragment. This doesn't
necessarily harm anything, but for consistency we keep the structure
un-encoded, and encode when converting to a string representation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1333 >
2023-10-24 12:52:12 -04:00
Arun Raghavan
51129febeb
aws: s3sink: Fix handling of special characters in key
...
Properly URL-encode the string if needed, and add some tests for a
couple of cases.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/431
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1333 >
2023-10-24 12:52:12 -04:00
Sebastian Dröge
829469d0fe
rtpav1depay: Don't push stale temporal delimiters downstream
...
Only push them downstream once a complete OBU was assembled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1367 >
2023-10-24 11:13:35 +00:00
Sebastian Dröge
1f5e9a9335
rtpav1depay: Skip unexpected leading fragments
...
If a packet is starting with a leading fragment but we do not expect to
receive one, then skip over it to the next OBU.
Not doing so would cause parsing of the middle of an OBU, which would
most likely fail and cause unnecessary warning messages about a
corrupted stream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1367 >
2023-10-24 11:13:35 +00:00
Sebastian Dröge
73ff822d24
Update to quick-xml 0.31
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1368 >
2023-10-24 09:55:50 +03:00
Jordan Petridis
a2d7f42138
Fix compilation after glib bindings changes
...
loggable_error! can now expand variables and we no longer need
the format! on our side.
https://github.com/gtk-rs/gtk-rs-core/pull/1210
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1366 >
2023-10-22 01:20:56 +03:00
Sebastian Dröge
2ce04c6a78
webrtc: Update to livekit 0.2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1293 >
2023-10-18 10:30:59 +03:00
Sebastian Dröge
d468e1e4a6
Clean up usage of pad probes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1361 >
2023-10-17 08:44:06 +03:00
François Laignel
50dd519c4f
net/webrtcsrc: define signaller property as CONSTRUCT_ONLY
...
The "signaller" property used to be defined as MUTABLE_READY which meant that
the property was always set after `constructed()` was called.
Since `connect_signaller()` was called from `constructed()`, only the default
signaller was used.
This commit sets the "signaller" property as CONSTRUCT_ONLY. Using a builder,
this property will now be set before the call to `constructed()`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1324 >
2023-10-12 17:38:09 +00:00