Jan Alexander Steffens (heftig)
d2202f516a
srt: Consider EPOLLEMPTY an error when not unlocking
...
Seems that SRT can remove the socket from the poll by itself when the
connection gets closed. Consider this an error condition and ensure we
only "abort successfully" when we're actually trying to unlock.
Needs more investigation but this is enough to prevent the element from
getting stuck not reporting an error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4087 >
2023-03-02 15:39:25 +00:00
Mathieu Duponchelle
84d6323610
closedcaption: implement cea608muxer element
...
Wrapper aggregator around the CCBuffer internal utility, this
version only supports aggregating CC1 and CC3 608 streams together into
the s334-1a format.
The element exposes CC1 and CC3 request pads.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4084 >
2023-03-02 00:27:47 +00:00
Jonas Danielsson
e8060c40f5
wpe: Post console messages as element messages
...
Fixes #1731
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3769 >
2023-02-28 13:43:23 +00:00
Philippe Normand
ec2330a796
wpe: Add a basic WebProcess crash handler
...
For now an error is emitted. Additional notification could be sent to the
application as well, if needed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3077 >
2023-02-27 18:54:48 +00:00
Philippe Normand
01f079f613
wpe: Fix typo in estimate-load-progress signal callback name
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3077 >
2023-02-27 18:54:47 +00:00
Philippe Normand
906b90287c
webrtcbin: Relay add-ice-candidate errors from Ice implementation to Application
...
The `add_candidate` vfunc of the GstWebRTCICE interface gained a GstPromise
argument, which is an ABI break. We're not aware of any external user of this
interface yet so we think it's OK.
This change is useful in cases where the application needs to bubble up errors
from the underlying ICE agent, for instance when the agent was given an invalid
ICE candidate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3960 >
2023-02-27 09:09:47 +00:00
Philippe Normand
cf96d96f6a
webrtcbin: Add add-ice-candidate-full signal
...
The signal triggers an asynchronous task on the PC thread but in some cases it
can be useful for apps to be notified when the task completed. This method of
the PeerConnection spec also returns a Promise so the interface is now more
coherent with the spec.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3960 >
2023-02-27 09:09:47 +00:00
Mathieu Duponchelle
9e8d1dccb4
ccconverter: add support for advertising / selecting field
...
Raw 608 caps can now contain a "field" field. On the input side it
signifies that the input raw 608 is attached to either field 0 or 1,
on the output side it allows selecting whether to extract the raw 608
data for field 0 or 1 for field-aware formats.
In addition, it is also allowed to use ccconverter to "convert" 608
field 0 to 608 field 1 (and conversely), this is passthrough as the
change only needs to happen in the caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4031 >
2023-02-24 19:11:56 +00:00
Robert Rosengren
88a8d9e8cd
curlhttpsrc: Add curl anyauth option
...
Add curl anyauth option to support http request to endpoints not using
only basic authentication (as default in curl). Also aligning with
curlhttpsink that already uses this option.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3824 >
2023-02-24 14:32:18 +00:00
Philippe Normand
2beda0fcaf
wpe: Logging fixes for the WebExtension
...
Using logging macros without a `GST_CAT_DEFAULT` in scope leads to critical
warnings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3623 >
2023-02-21 11:49:46 +00:00
Matthew Waters
921c93a9af
ccconverter: don't debug a potentially freed filter caps
...
Fixes a use-after-free
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4011 >
2023-02-21 15:20:41 +11:00
Sebastian Dröge
cfb14c4b5d
svtav1enc: Drain and completely reallocate the encoder instance on caps changes
...
The encoder does not support reconfiguration, and only deinitializing it
and then initializing it again causes deadlocks.
Also only reconfigure and drain the encoder if the video info has
actually changed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3957 >
2023-02-14 11:59:48 +00:00
Edward Hervey
d10f9a00e2
closedcaption: Don't leak caps event
...
All events that we handle should be unreffed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3902 >
2023-02-07 08:51:18 +01:00
Jan Schmidt
621604aa3e
webrtc: Calculate the jitter for remote-inbound-rtp stats
...
Populate the clock-rate in the internal stats structure, so
it can be used by the _get_stats_from_remote_rtp_source_stats()
method to calculate remote receivers' jitter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3900 >
2023-02-07 04:58:04 +11:00
Jan Schmidt
615a019457
webrtcbin: Report full codec-stats for source pads
...
Use the current caps for webrtcbin srcpads, as received_caps
are only stored for sink pads based on incoming caps events.
Makes it so that webrtcbin stats reports contain fuller
codec information.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3900 >
2023-02-07 04:49:34 +11:00
Adrian Fiergolski
06b778e0a1
avtp: specify the required version of libavtp
...
Support of RVF requires libavtp in version 0.2.0 at least.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3897 >
2023-02-06 13:31:51 +00:00
Sebastian Dröge
a0ccb6b558
svtav1enc: Use G_DECLARE_FINAL_TYPE and GST_ELEMENT_REGISTER_DEFINE
2023-02-03 22:14:18 +02:00
Sebastian Dröge
aca2bad25c
svtav1enc: Fix compilation with SVT-AV1 1.1 and drop GStreamer 1.16 compatibility
2023-02-03 22:14:18 +02:00
Sebastian Dröge
5bc92375c9
svtav1enc: Fix indentation
2023-02-03 22:14:18 +02:00
Sebastian Dröge
7890a1f8c7
svtav1: Integrate into the build system properly
2023-02-03 22:14:18 +02:00
Sebastian Dröge
b15efacf84
svtav1: Merge SVT-AV1 encoder into gst-plugins-bad
...
This is based on d5e1e2a586020854733f6b0806064d0c900c88d2 from
https://gitlab.com/AOMediaCodec/SVT-AV1 .
2023-02-03 22:13:30 +02:00
Tim-Philipp Müller
d95d3e39af
cc708overlay: bump pango requirement and drop no longer required locking
...
Gets rid of GSlice allocation that's never freed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3784 >
2023-02-03 17:48:10 +00:00
Sebastian Dröge
8aa376d541
gstreamer: Decide rate-control-mode based on the bitrate/cqp/crf settings
...
And also keep the default encoder settings but simply override them with
our own values that we care about.
This mirrors the encoder configuration behaviour from ffmpeg.
2023-02-03 12:48:56 +02:00
Sebastian Dröge
70c83bc59c
gstreamer: Use GLib types instead of stdint.h types consistently
2023-02-03 12:48:56 +02:00
Sebastian Dröge
dd1db338df
gstreamer: Fix double unref
...
The ownership of the caps is passed to `gst_video_encoder_set_output_state()`.
2023-02-03 12:48:56 +02:00
Sebastian Dröge
df064c6cc2
gstreamer: Configure colorimetry and HDR metadata if present
...
This raises the minimum GStreamer requirement to 1.16 as used by the CI
and optionally makes use of 1.18 features, including HDR.
2023-02-03 12:48:25 +02:00
Sebastian Dröge
aeee6f5b6a
gstreamer: Set correct maximum width/height limits
2023-02-03 12:35:24 +02:00
Sebastian Dröge
65eb56e7ad
gstreamer: Use correct 10-bit format on big endian systems
2023-02-03 12:35:24 +02:00
Sebastian Dröge
90fd191392
gstreamer: Set force_key_frames=true
in CQP/CRF mode
...
Other modes don't support that so keyframes can't be requested at
arbitrary times.
2023-02-03 12:35:24 +02:00
Sebastian Dröge
f24643b48f
gstreamer: Add support for setting arbitrary parameters via parameters-string
property
2023-02-03 12:35:18 +02:00
Sebastian Dröge
d746164ba0
gstreamer: Fix naming of function name that was taken over from the SVT-HEVC encoder
2023-02-03 12:34:38 +02:00
Sebastian Dröge
ddb9a037e1
gstreamer: Don't overwrite application configuration on initialization and initialize with the default configuration
2023-02-03 12:34:38 +02:00
Sebastian Dröge
7b1b33aff2
gstreamer: Clean up property handling
...
Use more correct types, defaults and clean up property names a bit.
This now matches the configuration provided by ffmpeg.
2023-02-03 12:34:38 +02:00
Sebastian Dröge
78ee7e82d9
gstreamer: Mark all internal functions as static
2023-02-03 12:34:38 +02:00
Sebastian Dröge
10769e7fe6
gstreamer: Fix encoder and buffer state life cycle
...
Allocate/deallocate the encoder in `open()`/`close()` and its buffers in
`start()` / `stop()`.
Also fail correctly if configuring the encoder fails.
2023-02-03 12:34:38 +02:00
Sebastian Dröge
24d6027d2e
gstreamer: Remove unused frame_count
and dts_offset
2023-02-03 12:34:38 +02:00
Sebastian Dröge
2d250439f1
gstreamer: Fix debug category description
2023-02-03 12:34:38 +02:00
Adrian Fiergolski
79d2af5626
avtp: rvf: add missing since markers
...
Add missing markers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1335 >
2023-02-02 19:15:46 +01:00
Adrian Fiergolski
9f880b37fc
avtp: rvf: add AVTP RVF de-payload support
...
Add AVTP Raw Video Format de-payload support. The element supports only
GRAY16_LE output format, so:
- active pixels (no vertical blanking),
- progressive mode,
- 8 and 16-bit pixel depth,
- mono pixel format,
- grayscale colorspace.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1335 >
2023-02-02 19:15:42 +01:00
Adrian Fiergolski
d8f449ccda
avtp: cvf: extract AVTP VF depayload base class
...
Extract a part which could be common with the AVTP RVF depayload plugin to a separate class.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1335 >
2023-02-02 19:15:38 +01:00
Adrian Fiergolski
4f2fde0163
avtp: rvf: add AVTP RVF payload support
...
Add AVTP Raw Video Format payload support. The element supports only GRAY16_LE
input format, so:
- active pixels (no vertical blanking),
- progressive mode,
- 8 and 16-bit pixel depth,
- mono pixel format,
- grayscale colorspace.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1335 >
2023-02-02 19:15:33 +01:00
Adrian Fiergolski
8702a1fa67
avtp: cvf: extract AVTP VF payload base class
...
Extract a part which could be common with the AVTP RVF payload plugin to a separate class.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1335 >
2023-02-02 19:15:29 +01:00
Sebastian Dröge
b12c66042b
aom: Include stream-format and alignment in the AV1 caps
...
The decoder does not work with arbitrary alignment and annexb stream
format and the encoder can give the information that it outputs
obu-stream/tu to downstream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3862 >
2023-02-01 19:04:32 +00:00
Benjamin Gaignard
16ad80179b
codec2json: Add av12json element
...
This element convert AV1 frame header into human readable
json data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3734 >
2023-01-30 19:46:55 +00:00
Benjamin Gaignard
fd588a50e4
codec2json: Add vp82json element
...
This element convert vp8 frame header into human readable
json data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3734 >
2023-01-30 19:46:55 +00:00
Sebastian Dröge
aba0b0e90a
gstreamer: Use stream-format=obu-stream alignment=tu in the caps
...
There is no byte-stream/au format for AV1 but only for H264, and the
encoder actually outputs obu-stream/tu instead of the annexb
stream-format that is similar to H264 byte-stream format.
Without this the encoder can't be used with elements that require a
specific AV1 stream-format, e.g. the MP4 or Matroska/WebM muxer.
2023-01-26 01:46:46 +00:00
Nirbheek Chauhan
cc3078d819
meson: Add a wrap file for libsrt2p
...
And allow fallback to it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3708 >
2023-01-25 11:38:52 +00:00
Tim-Philipp Müller
82cd540d08
svthevcenc: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:07 +00:00
Tim-Philipp Müller
93fc68c5ba
x265: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:07 +00:00
Tim-Philipp Müller
bfc2fab9ea
wpe: drop use of GSlice
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3695 >
2023-01-24 15:25:07 +00:00