Sebastian Dröge
1af18f3028
webrtc: Require Send+Sync
for signaller implementations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1432 >
2024-01-18 10:01:01 +02:00
Eva Pace
80b58f3b45
net/webrtc/janusvr: add JanusVRWebRTCSink plugin/signaller
...
The JanusVRWebRTCSink is a new plugin that integrates with the Video
Room plugin of the Janus Gateway, which simplifies WebRTC communication.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1362 >
2024-01-17 20:33:57 +00:00
Maksym Khomenko
773ebc7854
webrtcsrc: don't restrict RTP extensions to TWCC only
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1381 >
2024-01-17 07:34:01 +00:00
Sebastian Dröge
dfa95d8ed3
webrtc: Update to livekit-api / livekit-protocol 0.3
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1427 >
2024-01-16 07:52:48 +00:00
Maksym Khomenko
fecbe01e06
webrtcsink: make 'extensions' property usage conditional
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1423 >
2024-01-16 07:13:56 +00:00
Sebastian Dröge
73a53e38c4
aws: s3: Disable remaining tests too for now
...
They fail state changes, which cases `GstHarness` to abort.
2024-01-16 09:13:41 +02:00
Arun Raghavan
fd3675aac0
aws: s3: Temporarily disable putobject tests
...
Disabling while we figure out why it's failing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1429 >
2024-01-15 21:43:25 -05:00
Arun Raghavan
8b18ca15b5
Revert "aws: Disable putobjectsink tests for now"
...
This reverts commit b128d127c2
.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/472
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1416 >
2024-01-11 15:38:36 -05:00
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
François Laignel
785c9557c8
net/webrtcsink: drop State lock before calling set-local-description
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1325 >
2023-10-12 15:45:58 +00:00
François Laignel
c021e2b69f
net/webrtcsink: don't miss ice candidates
...
During `on_remote_description_set()` processing, current session is removed
from the sessions `HashMap`. If an ice candidate is submitted to `handle_ice()`
by that time, the session can't be found and the candidate is ignored.
This commit wraps the Session in the sessions `HashMap` so an entry is kept
while `on_remote_description_set()` is running. Incoming candidates received by
`handle_ice()` will be processed immediately or enqueued and handled when the
session is restored by `on_remote_description_set()`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1325 >
2023-10-12 15:45:58 +00:00
Sebastian Dröge
42008fb895
aws: Update to test-with 0.11
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1358 >
2023-10-12 06:57:28 +00:00
Lieven Paulissen
05aa9fa431
ndisrc: Assume input with more than 8 raw audio channels is unpositioned
...
gst_audio_channel_positions_from_mask() will otherwise print warnings
all the time.
Fixes #444
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1357 >
2023-10-12 09:12:02 +03:00
François Laignel
022afa6375
ndi: use v210 encoding for cc and attach to video frame
...
The NDI closed captions specifications [1] define a variation where metadata is
attached to the video frame. This requires the AFD buffer to be v210 encoded.
This commit applies this strategy.
Another difference with previous version is that when an error occurs while
encoding or decoding a meta, next meta are also tried instead of failing
immediately.
Receiving closed captions as a standalone metadata is kept for interoperability
purposes. In this case, metadata is also expected to be v210 encoded.
[1]: http://www.sienna-tv.com/ndi/ndiclosedcaptions.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1356 >
2023-10-11 21:25:29 +02:00
Maksym Khomenko
5b03f7d7b0
webrtcsrc: use @watch instead of @to-owned
...
@to-owned increases refcount of the element, which prevents the object from proper destruction, as the initial refcount with ElementFactory::make is larger than 1.
Instead, use @watch to create a weak reference and unbind the closure automatically if the object gets destroyed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1355 >
2023-10-11 11:54:51 +03:00
Sebastian Dröge
3fc6220009
Update to AWS SDK 0.33
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1354 >
2023-10-09 11:28:05 +03:00
Taruntej Kanakamalla
245185d2f6
net/webrtc/whip_signaller: Use the correct URL during redirect
...
Copy of 90e06dc3
for whipclientsink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1351 >
2023-10-06 13:11:46 +00:00
Maksym Khomenko
e4096b5157
webrtcsink: README: add documentation for custom signaller
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1340 >
2023-10-06 12:58:04 +03:00
Maksym Khomenko
a9719cada2
webrtcsink: add custom signaller example
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1340 >
2023-10-06 12:58:03 +03:00
Sebastian Dröge
1c4833bc5d
Update to AWS SDK 0.32
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1352 >
2023-10-06 09:11:17 +03:00
Sebastian Dröge
4569b7eca6
Fix various new 1.73 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1347 >
2023-10-03 17:47:30 +03:00
Sebastian Dröge
450ffbe452
Update for VideoFrame
/ GLVideoFrame
API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1345 >
2023-10-02 13:25:25 +03:00
Piotr Brzeziński
fe4273ca2a
webrtc: Fix paths in README
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1342 >
2023-09-29 17:05:29 +02:00
Sean DuBois
90e06dc37b
net: webrtc/webrtchttp: Respect HTTP redirects
...
Properly follow redirect URL. Before new request would be made, but with
original URL again.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1335 >
2023-09-26 19:29:41 -04:00
Seungha Yang
22cc8c4986
hlssink3: Update README
...
Mention newly added hlscmafsink element and new properties
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1306 >
2023-09-25 21:34:05 +09:00
Seungha Yang
1888a2eb82
hlscmafsink: Add live recording example
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1306 >
2023-09-25 21:34:05 +09:00
Seungha Yang
52117e4b11
hlsbasesink: Add enable-endlist property
...
Write "EXT-X-ENDLIST" tag at the end of stream if enabled, and
default to "TRUE" which is the hlssink2's behavior as well
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1306 >
2023-09-25 21:34:05 +09:00
Seungha Yang
7835d78b3d
hlssink3: Add hlscmafsink element
...
Adding cmafmux based hls sink element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1306 >
2023-09-25 21:34:00 +09:00
Seungha Yang
5b563006f9
hlssink3: Add baseclass implementation
...
Adding HlsBaseSink class to make code reusable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1306 >
2023-09-25 21:32:16 +09:00
Seungha Yang
0fe69cea9f
hlssink3: Various cleanup
...
* Simplify state/playlist management
* Fix a bug that segment is not deleted if location contains directory
and playlist-root is unset
* Split playlist update routine into two steps, adding segment
to playlist and playlist write
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1306 >
2023-09-25 21:32:16 +09:00
Seungha Yang
d8546dd140
hlssink3: Don't remove uri from playlist if playlist-length is zero
...
Behave as documented in property description
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1306 >
2023-09-25 21:32:16 +09:00
Seungha Yang
8e4863e9cd
hlssink3: Don't remove old files if max-files is zero
...
Follow hlssink2 element's behavior
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1306 >
2023-09-25 21:32:16 +09:00
Seungha Yang
a8d67cc607
hlssink3: Remove unused deps
...
gstreamer-base dep is unused. And use gst::glib
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1306 >
2023-09-25 21:32:16 +09:00
Seungha Yang
c4d371d163
hlssink3: Use Path API for getting file name
...
Current implementation does not support Windows path separator.
Use Path API instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1306 >
2023-09-25 21:32:16 +09:00
Seungha Yang
7f16ac3915
hlssink3: Use sprintf for segment name formatting
...
The zero-padded naming requirement is unnecessary. Use simple
sprintf instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1306 >
2023-09-25 21:32:16 +09:00
Sebastian Dröge
9595c6a1e5
Update to AWS SDK 0.31
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1334 >
2023-09-25 13:36:12 +03:00
Arun Raghavan
8bbfb10cba
hlssink3: Minor PDT-related naming fixups
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1332 >
2023-09-20 16:52:55 -04:00
rajneeshksoni
a7fe24a294
hlssink3: Add property track-pipeline-clock-for-pdt.
...
This is required to take care of clock skew between
system time and pipeline time.
`track-pipeline-clock-for-pdt: true` mean utd time is
sampled for first segment and for subsequent segments
keep adding the time based on pipeline clock. difference
of segment duration and PDT time will match.
track-pipeline-clock-for-pdt: false` mean utd time is
sampled for each segment. system time may jump forward
or backward based on adjustments. If application needs
to synchronization of external events `false` is
recommended.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1145 >
2023-09-20 13:54:48 +03:00
rajneeshksoni
4be24fdcaf
hlssink3: Allow adding EXT-X-PROGRAM-DATE-TIME tag.
...
- connect to `format-location-full` it provide the first
sample of the fragment. preserve the running-time of the
first sample in fragment.
- on fragment-close message, find the mapping of running-time
to UTC time.
- on each subsequent fragment, calculate the offset of the
running-time with first fragment and add offset to base
utc time
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1145 >
2023-09-20 13:54:48 +03: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
Seungha Yang
225482f7ed
webrtcsink: Propagate GstContext messages
...
Implement CustomBusStream so that NEED_CONTEXT and HAVE_CONTEXT
messages from session/discovery can be forwarded to parent
pipeline and also GstContext can be shared.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1322 >
2023-09-15 00:26:08 +09:00
Seungha Yang
1de7754616
webrtcsink: Add support for d3d11 memory and qsvh264enc
...
Adding d3d11 memory and qsvh264enc support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1322 >
2023-09-15 00:26:04 +09:00
Robert Ayrapetyan
18967dadbf
gstwebrtc-api: drop guacamole
...
fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/417
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1317 >
2023-09-11 19:21:41 +00:00
François Laignel
029fa9b8dc
net/ndi: improve interoperability robustness
...
`quick-xml::reader::Reader::trim_text(true)` doesn't remove white spaces and
tabs from XML text. Besides, for interoperability robustness we also need to
remove carriage returns and line feeds.
Also improve the default capacities for the `SmallVec`s.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1321 >
2023-09-11 06:22:41 +00:00
Mathieu Duponchelle
2381558169
webrtcsink: fix codec selection discoveries
...
Since ab1ec12698
:
webrtcsink: Add support for pre encoded streams
Discovery pipelines for remote offers were no longer fed any buffers.
While some encoders could already produce caps with no input buffers,
others, such as x264enc, simply hung forever. This resulted in no answer
getting produced if for instance video-caps were constrained to H264.
Fix this by tracking discovery pipelines at the State rather than the
InputStream level, removing the useless distinction of Initial vs.
CodecSelection discoveries, and always feeding all the current
discovery pipelines with incoming buffers.
For reference, the issue here was that codec selection discoveries were
assigned to local clones of InputStreams, not tracked anywhere, and thus
not iterated for discoveries when queuing incoming buffers from the
chain function, as it only looked at the original instance of
InputStream's in state.streams.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1319 >
2023-09-08 12:58:08 +00:00
François Laignel
9604dea90a
net/ndi: add closed caption support
...
Closed caption support in NDI is described as a proposal in [1] & [2].
The proposal consists in encapsulating c608 or c708 closed caption in ADF
packets and pushing them in an XML tag as part of NDI Metadata.
This commit implements this proposal.
[1]: http://www.sienna-tv.com/ndi/ndiclosedcaptions.html
[2]: http://www.sienna-tv.com/ndi/ndiclosedcaptions608.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1320 >
2023-09-07 14:28:24 +02:00
Robert Ayrapetyan
e83238b681
webrtcsink: fix TWCC extension adding
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1310 >
2023-09-04 18:27:51 +00:00
Sebastian Dröge
b0b63e58f8
ndi: Comment out empty Opus handling and add FIXME comment
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1308 >
2023-08-29 12:21:38 +00:00
Sebastian Dröge
8d433761d1
Fix indentation of let-else blocks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1308 >
2023-08-29 12:21:38 +00:00
Taruntej Kanakamalla
de6d2e7f40
net/webrtc: rename whipwebrtcsink as whipclientsink
...
add a deprecation warning in whipsink to indicate it
should be used only for RTP content
add documentation in whipsink code regarding usage and
deprecation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1282 >
2023-08-26 10:53:30 +05:30
Sebastian Dröge
905da44958
Update to AWS SDK 0.30
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1313 >
2023-08-25 09:46:52 +03:00
Andoni Morales Alastruey
3c1f05cdc3
webrtcsrc: document how to use the element for remote control
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1281 >
2023-08-10 17:43:51 +00:00
Andoni Morales Alastruey
3000b08ec7
webrtcsrc: add support for navigation events
...
This provides support GstNavigation events handling in webrtcsrc so that
a GStreamer client can be used to control remotely a GStreamer server,
similar to how the web client is capable of controlling a wpesrc.
This is part of a larger set of patches that require more work on the
sinks and sources.
server: d3d11screencapturesrc ! webrtcsink enable-data-channel-navigation=true
client: webrtcsrc enable-data-channel-navigation=true ! d3d11videosink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1281 >
2023-08-10 17:43:51 +00:00
Loïc Le Page
e5e3dc6e19
net/webrtc/signaller: add property to get the connection client ID
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1296 >
2023-08-10 17:30:21 +02:00
Loïc Le Page
7af2ff0843
net/webrtc/signaller: advertise running producers in Listener mode
...
When starting a webrtcsrc-signaller client in Listener mode, only the producers
started after the client connection were advertised. All currently
running producers were ignored unlike the gstwebrtc-api behavior. This
commit now lists all running producers when the client Listener connects
and advertises them through the "producer-added" signal.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1296 >
2023-08-10 17:30:21 +02:00
Sebastian Dröge
d688aeb184
Update versions to 0.12.0-alpha.1
2023-08-10 17:21:11 +03:00
Sebastian Dröge
3b41f206bc
Don't generate .def files for plugins
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/389
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1299 >
2023-08-09 13:54:34 +03:00
Sebastian Dröge
b3826c108d
webrtc: Update to async-tungstenite 0.23
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1299 >
2023-08-09 13:18:44 +03:00
Sebastian Dröge
5ee46a214c
webrtc: Use #[repr(C)]
to get a C-compatible layout for the Signaller
struct
...
This is required by GObject for class/interface and instance structs and
the reason why implementing the `glib::ObjectInterface` trait is unsafe.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/397
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1297 >
2023-08-09 10:32:44 +03:00
Sebastian Dröge
cac791a6ca
aws/webrtc: Update to AWS SDK 0.56/0.29
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1295 >
2023-08-07 20:03:51 +03:00
Sebastian Dröge
2591feb72e
Update a couple of dependencies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1294 >
2023-08-07 11:42:32 +03:00
Sanchayan Maity
5b60ecbb18
net: webrtc/webrtchttp: Fix canceller usage
...
Commit 08b6251a
added the check to ensure only one canceller at a time for net/webrtc.
In `whipsink` and since `whipwebrtcsink` picked up the same implementation, there exists a
bug around the use of canceller. `whipsink` calls `wait_async` while passing the canceller
as an argument. The path `send_offer -> do_post -> parse_endpoint_response` results in the
canceller being replaced in each subsequent call to `wait_async`. Since `wait_async` call
does not ensure one canceller, with the async call the use of canceller/abort was subtly
broken. Similarly, for `whepsrc`.
We really don't need to use `wait_async` inside `do_post` for any `await` calls. If the
root future viz. `do_post` with `wait_async` is aborted, the child futures will be taken
care of.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1290 >
2023-08-04 10:01:11 +05:30
Mathieu Duponchelle
9680805bdb
webrtcsink: don't forget to setup encoders for discoveries
...
The "encoder-setup" signal must also be emitted for the encoders
used in discovery pipelines in order for the default settings to
be applied.
This otherwise meant that for instance the x264 encoder would
use a 60 frames latency, greatly delaying startup.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1289 >
2023-08-01 00:28:52 +02:00
Mathieu Duponchelle
dbeb65da06
webrtc/utils: fix typos
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1289 >
2023-08-01 00:28:32 +02:00
Sebastian Dröge
d4b3827efa
webrtcsink: NVIDIA V4L2 encoders always require NVMM memory
...
And if the input is not like that then a corresponding converter must be
inserted.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1283 >
2023-07-24 10:14:59 +00:00
Sebastian Dröge
31b1cb8ca6
Update minimum supported Rust version to 1.70
...
gtk-rs will update soonish too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1280 >
2023-07-19 09:19:34 +03:00
Mathieu Duponchelle
9707bb89e6
webrtcsink: fix pipeline when input caps contain max-framerate
...
GstVideoInfo uses max-framerate to compute its fps, but this leads
to issues in videorate when framerate is actually 0/1.
Fix this by stripping away max-framerate from input caps
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1276 >
2023-07-13 22:18:08 +02:00
Sebastian Dröge
0331522128
webrtcsink: Configure only 4 threads for x264enc
...
More threads can cause more slices to be created, and Chrome simply falls
apart if there are more than a few slices and fails decoding.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1275 >
2023-07-13 16:59:43 +03:00
Sebastian Dröge
ca51cf2509
webrtcsink: Translate force-keyunit events to force-IDR action signal for NVIDIA encoders
...
NVIDIA's v4l2 encoder elements don't handle the force-keyunit events but
instead provide a custom action signal based API for requesting a
keyframe.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1274 >
2023-07-12 10:09:32 +00:00
Sebastian Dröge
bbd3d9ffe0
Remove unnecessary mut
everywhere
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1273 >
2023-07-11 10:09:35 +03:00
Sebastian Dröge
ee4aca3010
webrtcsink: Set config-interval=-1 and aggregate-mode=zero-latency on rtph26[45]pay
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1272 >
2023-07-10 19:48:37 +03:00
Sebastian Dröge
957a28f239
webrtcsink: Set VP8/VP9 payloader based on payloader element factory name
...
Instead of checking the encoder's name. There are more VP8/VP9 encoders
than the ones from the vpx plugin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1272 >
2023-07-10 19:45:17 +03:00
Mathieu Duponchelle
1dd13c4812
webrtcsink: fix session_id / peer_id confusion
...
In a few places, for instance parameter names, peer_id was still used
when session_id was actually getting passed.
Go through all instances of peer_id in webrtcsink/imp.rs and address
those mix-ups.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1269 >
2023-07-07 05:33:30 +00: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
Sebastian Dröge
58adebb325
Fix a couple of typos
2023-07-06 13:50:17 +03:00
Olivier Crête
08b6251a7a
webrtc-utils: Ensure there is only one cancellable call at a time
...
Since we only have one canceller at a time, panic if one try to
use it twice in parallel.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1262 >
2023-07-05 21:43:17 +00:00
Olivier Crête
817b60a758
webrtc: Value.get() is already type checks in the property calls
...
GObject will have ensured we get a GValue of the right type.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1262 >
2023-07-05 21:43:17 +00:00
Olivier Crête
793ee66afa
webrtcsink: Add LiveKit WebRTC sink and signaller
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1262 >
2023-07-05 21:43:17 +00:00
Seungha Yang
1f0ce101eb
awstranscriber: Tone down log message
...
It's not an ERROR case at all
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1263 >
2023-06-28 23:57:54 +09:00
Sebastian Dröge
c350f3c2af
webrtcink: Use correct property types for nvvideoconvert
...
These are enums and not plain integers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1256 >
2023-06-26 14:48:58 +00:00
Mathieu Duponchelle
84a33ca7b9
webrtcsink: bring in signalling code from whipsink as a signaller
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1168 >
2023-06-16 00:32:56 +02:00
Mathieu Duponchelle
f00a169081
webrtcsrc: add twcc extension to codec-preferences when present
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1245 >
2023-06-15 20:41:53 +00:00
Mathieu Duponchelle
1200ae0ee6
webrtcsink: improve debug
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1239 >
2023-06-14 22:27:15 +02:00
Mathieu Duponchelle
64056c5527
net/webrtc: improve documentation layout
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1239 >
2023-06-14 22:27:15 +02:00
Sebastian Dröge
8a7a1f519c
webrtc: Update to fastrand 2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1240 >
2023-06-09 09:36:51 +03:00
Mathieu Duponchelle
81ae675f2d
webrtcsink: don't try to use cudaconvert if not present
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1238 >
2023-06-08 15:32:49 +02:00
Mathieu Duponchelle
7f78a8428e
webrtcsink: dump discovery pipelines on state changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1238 >
2023-06-08 15:32:49 +02:00
Mathieu Duponchelle
7447d95f1b
webrtc/signalling: fix race condition in message ordering
...
Spawning one task per message to send out instead of sending them out
sequentially from the one task used to poll the handler sometimes
resulted in peers receiving ICE candidates before SDP offers, triggering
hard to understand errors in the browser.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1236 >
2023-06-08 13:24:45 +02:00
Mathieu Duponchelle
de0f7a08fe
gstwebrtc-api: fix firefox errors about more than two stun servers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1236 >
2023-06-08 13:24:45 +02:00
Mathieu Duponchelle
cd4b90fef4
webrtcsink/utils: remove unused decoders field in DecodingInfo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1236 >
2023-06-08 01:54:13 +02:00
Mathieu Duponchelle
271b583876
webrtcsink: avoid panic on unprepare from an async tokio context
...
.. and log an error with advice on how to dispose of elements properly
from a tokio runtime.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1218 >
2023-06-07 19:57:19 +00:00
Sebastian Dröge
c65b3429ad
Use MPL as license specifier for plugins only requiring GStreamer < 1.20
...
And use MPL-2.0 for all that require GStreamer 1.20 or newer. The new
string is only allowed in 1.20 or newer and using it in older versions
causes failure to load the plugin.
All affected plugins are of course still MPL-2.0 licensed.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/374
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1235 >
2023-06-07 19:13:55 +03:00
Mathieu Duponchelle
fda5aed89f
webrtcsink: encoded streams: address last review comments
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1194 >
2023-06-06 16:05:28 +02:00
Thibault Saunier
ab1ec12698
webrtcsink: Add support for pre encoded streams
...
This is a first step where we try to replicate encoding conditions from
the input stream into the discovery pipeline. A second patch will
implement using input buffers in the discovery pipelines.
This moves discovery to using input buffers directly. Instead of trying
to replicate buffers that `webrtcsink` is getting as input with testsrc,
directly run discovery based on the real buffers. This way we are sure
we work with the exact right stream type and we don't need encoders to
support encoding streams inputs.
We use the same logic for both encoded and raw input to avoid having
several code paths and makes it all more correct in any case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1194 >
2023-06-06 15:32:40 +02:00
Thibault Saunier
059cdecf7d
webrtc: Unify the Codec structure between sink and source
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1194 >
2023-06-06 15:31:45 +02:00
Thibault Saunier
cf32d9d668
webrtc: Move make_element to the utils
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1194 >
2023-06-06 15:31:45 +02:00
Thibault Saunier
ce42723ad2
webrtc: Minor documentation enhancement
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1194 >
2023-06-06 15:31:45 +02:00
Mathieu Duponchelle
6346d5608e
net/aws/transcriber: track discont offset in input stream
...
and add it up to subsequent transcripts.
This ensures synchronization is maintained even after the input stream
experiences a discontinuity and a gap in its timestamps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1230 >
2023-06-02 08:55:11 +00:00
Mathieu Duponchelle
80582923bb
aws_kvs_signaller: don't force us-east-1 region
...
Instead use default region provider, with a fallback to us-east-1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1228 >
2023-05-30 16:04:27 +00:00
Edward Hervey
31b06e52ea
rtpgccbwe: Improve packet handling
...
Both the delay-based *and* loss-based estimates should be computed instead of
just one. This ensures faster adaptation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1179 >
2023-05-29 08:20:36 +00:00