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
3343fd9813
Update CHANGELOG.md for 0.11.1
2023-10-04 23:56:23 +03:00
Sebastian Dröge
41a6075fb5
deny: Simplify license handling
...
Deny all copyleft licenses except for the MPL-2.0 and add an exception
for gst-plugin-threadshare to allow LGPL-2.1.
2023-10-04 19:00:08 +03:00
Sebastian Dröge
5ac3162fca
deny: Remove unnecessary toml_edit exception
2023-10-04 18:57:17 +03:00
Sebastian Dröge
85c46ede5b
ci: Run cargo-deny on the whole workspace with all features enabled
2023-10-04 18:56:50 +03:00
Stéphane Cerveau
68c2d27e8d
fmp4mux: specify the fragment duration unit
...
The fragment duration is expressed in nanoseconds.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1348 >
2023-10-04 12:47:15 +02: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
d57b83fa08
threadshare: Fix docs typos
2023-10-03 11:13:07 +03:00
Sebastian Dröge
747d9bfc6e
Update plugins cache for updated raw video caps
2023-10-03 11:12:39 +03:00
François Laignel
a1ad3379ca
generic: threadshare: macOS fixes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1344 >
2023-10-02 15:09:26 +02: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
Sebastian Dröge
95581d7fbc
deny: Update with some new overrides
2023-10-02 09:29:39 +03:00
François Laignel
436798b360
generic: threadshare: port to polling 3.1.0
...
Also use `rustix` & `std::ffi` instead of `libc`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1336 >
2023-10-01 17:45:29 +02: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
Sebastian Dröge
980dd74852
version-helper: Update version to 0.8.0 and MSRV to 1.66
...
Previous release was 0.7.5 and 1.63, but toml_edit unfortunately
requires Rust 1.66 at least.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1341 >
2023-09-29 12:05:07 +00:00
Sebastian Dröge
6159f299be
version-helper: Also try parsing release date from Cargo.toml
...
The `package.metadata.gstreamer.release_date` date string can be used to
specify the release date.
This is used if there's no git repository as a fallback before using the
mtime of the Cargo.toml. Using the mtime will fail when building a crate
packaged by cargo because cargo sets the mtimes to bogus values.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/440
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1341 >
2023-09-29 12:05:07 +00:00
Philippe Normand
4d9263f932
audiornnoise: Attach audio level meta to output buffers
...
This is useful downstream for processing of audio voice payloads, for
instance feeding a speech recognition library such as Whisper.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1231 >
2023-09-28 17:58:38 +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
ed4181617a
hlssink3: Update plugin docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1306 >
2023-09-25 21:34:59 +09: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
559313402e
deny: Remove obsolete entries
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1334 >
2023-09-25 13:37:16 +03: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
95a7a3c0ec
gtk4: Only support RGBA/RGB in the GL code path
...
For all other component orderings a shader is necessary to re-order the
components for what GTK expects.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1312 >
2023-09-20 13:22:41 +03:00
Ivan Molodetskikh
c237cf2c34
gtk4: Premultiply alpha in GL textures
...
GTK expects GL textures to have premultiplied alpha. The ones we get
from GStreamer don't, leading to incorrect rendering of semitransparent
frames.
GTK 4.12 gained an API to set a different GL texture format, but it
won't help for older GTK versions. Plus, at the time of writing, it
causes a very slow download/upload path in GTK.
So, use a GTK GL shader node to premultiply the alpha without leaving
the GPU.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1312 >
2023-09-20 13:04:59 +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