Samuel Alonso Rodriguez
cdfa63f341
Merge pull request #76 from sdroege/require-gstreamer-0.17.4
...
Require at least version 0.17.4 of the GStreamer core bindings
2021-10-06 12:36:16 +02:00
Sebastian Dröge
8585ef1e66
Require at least version 0.17.4 of the GStreamer core bindings
...
Fixes https://github.com/teltek/gst-plugin-ndi/issues/75
2021-10-06 12:53:51 +03:00
Vivia Nikolaidou
a132fdb8be
togglerecord: Add is-live mode
...
No "gap eating" behaviour, will forward incoming segment
2021-10-04 16:44:04 +03:00
Vivia Nikolaidou
f6aa03b58a
togglerecord: Fix lock ordering
...
Fixes deadlocks.
Correct lock ordering is:
1) Main stream state lock
2) Other stream state lock
3) Recording state lock
2021-10-04 13:18:20 +03:00
Samuel Alonso Rodriguez
74b47f016f
Merge pull request #74 from sdroege/src-compressed-data
...
Add support for receiving compressed data from the source
2021-10-02 11:02:29 +02:00
Sebastian Dröge
f890abe5cb
Add support for receiving compressed data from the source
...
This requires building against and using the NDI Advanced SDK and is
opt-in via the "advanced-sdk" cargo feature.
2021-10-01 13:12:14 +03:00
Sebastian Dröge
db6b9531ca
Add various header definitions from the NDI advanced SDK
2021-10-01 12:50:57 +03:00
Sebastian Dröge
b98efea5aa
Allow selecting the receive color format in the source
2021-10-01 12:50:57 +03:00
Sebastian Dröge
ce45f5a673
Update README.md
2021-10-01 12:50:57 +03:00
Sebastian Dröge
8cf682d72b
Move to NDIlib_recv_capture_v3() and NDIlib_send_send_audio_v3()
...
These allow more control over the data that is being sent/received, but
require NDI SDK 4.0 or newer.
2021-10-01 12:50:57 +03:00
Sebastian Dröge
7483a66b66
Convert NDIlib_recv_color_format_e to a type alias with constants
...
There are also other values available.
2021-10-01 12:50:57 +03:00
Sebastian Dröge
c8f12b8c3b
Use a const function to create fourccs from strings
2021-10-01 12:50:57 +03:00
Samuel Alonso Rodriguez
c98b626f69
Merge pull request #73 from sdroege/ndisrc-timestamp-tracking-improvements
...
Various improvements to timestamp tracking code in the source
2021-10-01 10:50:36 +02:00
Jan Schmidt
3260651671
jsontovtt: Add an element for fragmented WebVTT
...
This element converts the CC JSON format to fragmented WebVTT.
Co-authored by Mathieu Duponchelle <mathieu@centricular.com>
2021-09-30 19:37:32 +00:00
Mathieu Duponchelle
bc587a09f8
cea608tojson: expose "unbuffered" property
...
In this mode, cues are output as soon as they are ready for
display, without a duration. This can be useful in live mode,
when downstream is OK with determining the duration after the
fact, through clear=True.
The consequence of this is that the current roll-up window will
be output repetitively, it is up to downstream to deal with that
how it prefers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/554 >
2021-09-30 17:05:01 +02:00
Sebastian Dröge
e642d6a4c1
Set the RESYNC flag on buffers after time tracking state was reset
2021-09-30 17:54:15 +03:00
Sebastian Dröge
0911775142
Set the discont flag on the first audio/video buffer
2021-09-30 13:33:18 +03:00
Sebastian Dröge
9a53bcd405
Implement remote/local clock estimation with the same algorithm as the RTP jitterbuffer
...
This gives fewer jumps and generally leads to smoother and more correct
results, while at the same time also being faster.
2021-09-30 13:29:12 +03:00
Sebastian Dröge
0c89e0819f
Use gst::Element::current_running_time() instead of manually implementing it
2021-09-30 11:02:26 +03:00
Sebastian Dröge
febb2fb035
Add receive-time timestamping mode
...
This directly uses the receive times of each packet.
2021-09-30 11:02:26 +03:00
Samuel Alonso Rodriguez
7c3e50c629
Merge pull request #72 from sdroege/combined-source-and-demuxer
...
Combine audio/video source into a single element and add a demuxer fo…
2021-09-30 09:51:46 +02:00
François Laignel
ed90b338f8
ts: runtime: add delay_for_at_least
...
The time driver for the threadshare runtime assigns the timer
entries to the nearest throttling time frame so that the timer
fires as close as possible to the expected instant. This means
that the timer might fire before or after the expected instant
(at most `wait / 2` away).
In some cases, we don't want the timer to fire early. The new
function `delay_for_at_least` ensures that the timer is assigned
to the time frame after the expected instant.
2021-09-30 09:00:05 +02:00
Sebastian Dröge
b3184b45bc
Combine audio/video source into a single element and add a demuxer for that
...
This simplifies the code considerably.
2021-09-29 14:48:32 +03:00
Mathieu Duponchelle
01cc9e23d8
transcriberbin: switch to passthrough on transcriber error
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/569 >
2021-09-28 16:17:57 +00:00
Sebastian Dröge
b1bd3020fa
audioloudnorm: Clamp to the expected limits instead of asserting
...
The calculations on the floating point numbers can't get out of the
expected range by construction expect for rounding errors at the limits.
Rounding errors at the limits shouldn't lead to assertions, so instead
clamp to the limits.
2021-09-28 13:53:21 +03:00
Sebastian Dröge
69bb09f7ad
rusoto/s3: Allow passing custom AWS-compatible regions
...
For the region property this would be provided as
`region-name+https://region.end/point `
while for the URI this unfortunately has to be base32 encoded to allow
usage as the host part of the URI.
2021-09-28 06:23:07 +00:00
Sebastian Dröge
502b336361
rusoto: Implement auth via explicit access-key/secret-access-key properties
...
This allows passing them explicitly as strings to the elements instead
of relying on system/per-user configuration.
2021-09-27 17:00:36 +03:00
Sebastian Dröge
3ce6a5f403
Only list plugins without external C dependencies as default-members of the cargo workspace
...
`cargo build` will only build the default members while `cargo build --all`
would continue to build all plugins.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/167
2021-09-25 14:11:55 +03:00
Samuel Alonso Rodriguez
0f88b3df68
Merge pull request #71 from sdroege/gst-0.17
...
Update to gstreamer-rs 0.17
2021-09-24 11:30:22 +02:00
Sebastian Dröge
7708b65e97
json: Replace line_reader.rs symlink with a copy for now
...
Windows doesn't handle symlinks very well.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/166
2021-09-22 16:38:58 +03:00
Sebastian Dröge
afd736dfec
Update for new PushSrc::create() signature
2021-09-19 22:27:20 +03:00
Sebastian Dröge
a03b52a975
csound: Fix nightly compiler warning in test
...
warning: trailing semicolon in macro used in expression position
--> audio/csound/tests/csound_filter.rs:52:10
|
52 | );
| ^
...
403 | &CSD!(ksmps, ichannels, ochannels, "ain, ain2 ins", "out ain"),
| ------------------------------------------------------------- in this macro invocation
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813 >
= note: this warning originates in the macro `CSD` (in Nightly builds, run with -Z macro-backtrace for more info)
2021-09-18 10:08:40 +00:00
Sebastian Dröge
ea2a313d01
ffv1dec: Add support for 4:1:0 and 4:1:1 YUV
2021-09-18 12:34:31 +03:00
Sebastian Dröge
2878e4ce7c
ffv1dec: Fix decoding of 4:4:4 / 4:4:4:4 / 4:2:2 / 4:4:2:2 YUV formats
2021-09-18 12:34:31 +03:00
Sebastian Dröge
600d217e7d
ffv1dec: Add support for >8 bit color formats
2021-09-18 12:34:31 +03:00
Sebastian Dröge
08229402cd
ffv1dec: Don't copy decoded memory if the strides are not matching but downstream supports video meta
2021-09-18 12:34:31 +03:00
Sebastian Dröge
fd1c0a7518
ffv1dec: Drop decoder state before calling VideoDecoder::negotiate()
...
It calls into other elements via the allocation query and the caps
event, which makes it dangerous to keep a mutex locked at the same time.
2021-09-18 12:34:31 +03:00
Sebastian Dröge
4c8c398aa4
dav1d: Don't configure a buffer pool and don't require one for videometa support
...
dav1d is allocating memory itself and we directly forward that without
using any downstream buffer pool.
2021-09-18 11:58:59 +03:00
Sebastian Dröge
f4613bfc07
Use Buffer::from_mut_slice() in more places
...
This allows downstream to map the memory mutable.
2021-09-18 11:58:59 +03:00
Sebastian Dröge
291d951b01
Update to gstreamer-rs 0.17
2021-09-13 13:43:31 +03:00
Sebastian Dröge
484cad00ce
deny: Update
2021-09-11 08:45:25 +03:00
Sebastian Dröge
ea394fb06e
rusoto: Update to async-tungstenite 0.15
2021-09-11 08:44:32 +03:00
Arun Raghavan
c515ee5a01
Update README with recently added plugins
2021-09-10 05:17:46 -04:00
Sebastian Dröge
e61bfa1ea9
ci: Update to dav1d 0.9.2
2021-09-10 10:21:01 +03:00
Sebastian Dröge
b9864acad6
ffv1: Lower minimum required GStreamer version to 1.12
2021-09-10 09:42:25 +03:00
Sebastian Dröge
c8fc082968
ffv1: Update version to 0.8.0 like elsewhere
2021-09-10 09:22:11 +03:00
Arun Raghavan
bb3949aeda
video: Add a new ffv1 decoder plugin
2021-09-10 06:20:31 +00:00
Sebastian Dröge
426dc4c54d
flavors: Update to nom 7
2021-09-09 06:41:49 +00:00
Jordan Petridis
610f98dc2d
ci: avoid spawning 2 pipelines for each commit
...
When an MR is open, you can have both a normal and a "detached"
pipeline.
They have different properties, but a detached pipeline is
enough for us and identical to the normal one, so we can avoid
the extra load on the CI.
https://docs.gitlab.com/ee/ci/jobs/job_control.html#avoid-duplicate-pipelines
https://docs.gitlab.com/ee/ci/yaml/index.html#switch-between-branch-pipelines-and-merge-request-pipelines
2021-09-09 06:06:25 +03:00
Sebastian Dröge
96d86eaa06
Clean up clippy warnings and CI configuration
...
Put clippy overrides into the sources files instead of the CI
configuration, and fix various warnings / clean up code.
2021-09-08 12:35:41 +00:00