Sebastian Dröge
6c5a0c2795
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1397 >
2023-11-21 10:33:26 +02: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
9251b1ca26
deny: Update for duplicated crypto-bigint dependency
2023-11-20 10:24:20 +02:00
Sebastian Dröge
47d540b7b8
Update Cargo.lock
2023-11-20 10:14:01 +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
3fcab67570
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1395 >
2023-11-17 11:23:06 +02:00
Sebastian Dröge
ceff8bd127
deny: Add duplicated windows crates version
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1395 >
2023-11-17 11:22:47 +02: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
dd67dc87e3
gtk4: Update to windows-sys 0.52
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1395 >
2023-11-17 11:00:55 +02:00
Sebastian Dröge
097de9dbb7
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1394 >
2023-11-15 17:36:17 +02:00
Sebastian Dröge
8045e441a2
deny: Remove unnecessary tracing-log duplicate and add itertools
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1394 >
2023-11-15 17:35:55 +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
Seungha Yang
8a04a38631
fallbacksrc: Fix timeout scheduling
...
Other thread can schedule the timeout (e.g., unblock signal
or active pad change) while state lock is released
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1384 >
2023-11-15 09:17:39 +00: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
636c76b03b
uriplaylistbin: Fix new clippy warning
...
warning: the borrowed expression implements the required traits
--> utils/uriplaylistbin/src/uriplaylistbin/imp.rs:1691:32
|
1691 | self.obj().remove_many(&children_ref).unwrap();
| ^^^^^^^^^^^^^ help: change this to: `children_ref`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1391 >
2023-11-13 17:41:06 +02: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
Sebastian Dröge
6c5c09fae9
Update CHANGELOG.md for 0.11.2
2023-11-11 21:00:30 +02:00
Sebastian Dröge
885928ea17
ci: Run cargo update
as part of the cargo deny
/ cargo outdated
jobs
2023-11-10 08:55:31 +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
Sebastian Dröge
63edc84103
Add Cargo.lock to the repository
...
This makes sure that any broken dependency updates are not breaking our
build, at the cost of requiring us to update the lock file regularly.
See also https://blog.rust-lang.org/2023/08/29/committing-lockfiles.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1385 >
2023-11-09 10:08:08 +02:00
Sebastian Dröge
8b37d8ec02
deny: Add override for duplicated toml_edit dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1385 >
2023-11-09 10:06:55 +02:00
Sebastian Dröge
a8205d5b5d
version-helper: Update to toml_edit 0.21
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1382 >
2023-11-07 09:28:23 +02: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
a33f29365a
sccparse: Fix leading spaces between the tab and caption data
...
CCExtractor is creating files like this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1378 >
2023-11-02 21:59:02 +02: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
74c04d79c9
gtk4: Use async-channel instead of the glib MainContext channel
...
The latter will be removed in favour of using async code in the future,
and async code generally allows for more flexible message handling than the
callback based MainContext channel.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1375 >
2023-10-30 11:21:25 +02:00
Sebastian Dröge
b771afe8be
deny: Update duplicated dependencies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1374 >
2023-10-27 10:20:54 +03: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
Jan Alexander Steffens (heftig)
e3e58ac0be
livesync: Remove the stop from outgoing segments
...
Our buffer duplication can extend a segment indefinitely.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/452
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1372 >
2023-10-25 19:34:47 +02:00
Jan Alexander Steffens (heftig)
f1ba498b52
livesync: Keep existing buffer duration in some cases
...
Resize a repeat buffer only if caps gave us a duration to use, or we
consider its current duration unreasonable.
In particular, for audio streams we should prefer reusing the buffer
size upstream gave us, as we did before 6633cc4046
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1372 >
2023-10-25 19:34:47 +02:00
Jan Alexander Steffens (heftig)
59beade079
livesync: Split fallback_duration into in_ and out_duration
...
Make it independent of the `latency`; this was inconsistent anyway,
where the default latency of zero got you a fallback duration of 100 ms
and something else got you half the latency.
Maintain a separate duration for the `in` and the `out` side so we
change the duration of repeat buffers after a caps change, not just
before.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1372 >
2023-10-25 19:08:16 +02:00
Guillaume Desmottes
f94ecfc7a6
livesync: display jitter when waiting on clock
...
We already log the result of the clock wait call so may as well log the
returned jitter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1370 >
2023-10-25 14:26:19 +02:00
Guillaume Desmottes
13dae0f0d0
livesync: log new pending segments
...
The debug print of the event does not display details about the segment:
Unqueueing Some(Event(Event { ptr: 0x7fa3e0002580, type: "segment", seqnum: Seqnum(479), structure: Some(GstEventSegment { segment: (GstSegment) ((GstSegment*) 0x7fa3e8001d00) }) }))
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1370 >
2023-10-25 14:24:35 +02:00
Jan Alexander Steffens (heftig)
ee93448de7
livesync: example: Add identities single-segment=1
...
These let us change the runtime offset of the test buffers via pad
offsets without pushing new segments into livesync, which is necessary
to demo the late-threshold behavior.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1369 >
2023-10-25 12:55:06 +02:00
Jan Alexander Steffens (heftig)
6633cc4046
livesync: Use fallback_duration for audio repeat buffers as well
...
Don't depend on upstream giving us sanely-sized buffers if we want to
repeat.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1369 >
2023-10-25 12:55:06 +02:00
Jan Alexander Steffens (heftig)
4ac7d0415b
livesync: Separate out_buffer duplicate status from GAP flag
...
Otherwise we might get confused by upstream GAP buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1369 >
2023-10-25 12:10:40 +02:00
Jan Alexander Steffens (heftig)
2f36bd5d77
livesync: Handle flags and late buffer patching after queueing
...
This makes the chain function almost independent of the output state. We
still do the early discard check with `buffer_is_backwards` so we don't
try to queue buffers we can't use, allowing us to fast-forward upstream
without blocking on the src task.
Don't accept `LateOverThreshold` buffers when we have `pending_caps` or
a `pending_segment`. We need to apply these first before we can sensibly
patch buffers from the new stream.
Deduplicate most of the output buffer patching code into a new
`patch_output_buffer` method.
For: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/450
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1369 >
2023-10-25 11:52:41 +02:00