Commit graph

112906 commits

Author SHA1 Message Date
Tim-Philipp Müller
16ef2917e2 Back to development 2021-06-01 15:29:10 +01:00
Tim-Philipp Müller
b3327b9f69 Back to development 2021-06-01 15:29:07 +01:00
Tim-Philipp Müller
2d9b73b76b Back to development 2021-06-01 15:29:04 +01:00
Tim-Philipp Müller
caae1a632a Back to development 2021-06-01 15:28:40 +01:00
Tim-Philipp Müller
af3527ce24 Back to development 2021-06-01 15:28:36 +01:00
Tim-Philipp Müller
eb47c5aa2d Back to development 2021-06-01 15:28:24 +01:00
Tim-Philipp Müller
81778f9d93 Back to development 2021-06-01 15:28:13 +01:00
Tim-Philipp Müller
7484000f99 Release 1.19.1 2021-06-01 00:27:56 +01:00
Tim-Philipp Müller
3804f23e3f Release 1.19.1 2021-06-01 00:17:06 +01:00
Tim-Philipp Müller
4d52005fd8 Release 1.19.1 2021-06-01 00:17:03 +01:00
Tim-Philipp Müller
778464f138 Release 1.19.1 2021-06-01 00:17:01 +01:00
Tim-Philipp Müller
5cbd556541 Release 1.19.1 2021-06-01 00:16:57 +01:00
Tim-Philipp Müller
da581059b0 Release 1.19.1 2021-06-01 00:16:41 +01:00
Tim-Philipp Müller
5e67efbf27 Release 1.19.1 2021-06-01 00:16:32 +01:00
Tim-Philipp Müller
474c4bea13 Release 1.19.1 2021-06-01 00:16:12 +01:00
Tim-Philipp Müller
986d0737e4 Release 1.19.1 2021-06-01 00:16:06 +01:00
Tim-Philipp Müller
a3c3afbf56 Release 1.19.1 2021-06-01 00:15:09 +01:00
Tim-Philipp Müller
6b5cacd53a Release 1.19.1 2021-06-01 00:14:53 +01:00
Tim-Philipp Müller
6d9125f01c Release 1.19.1 2021-06-01 00:14:24 +01:00
Tim-Philipp Müller
9c34c21c52 Release 1.19.1 2021-06-01 00:12:09 +01:00
Tim-Philipp Müller
0dcb2aaadc Release 1.19.1 2021-06-01 00:11:46 +01:00
Tim-Philipp Müller
36a01da1f8 Release 1.19.1 2021-06-01 00:09:55 +01:00
Tim-Philipp Müller
6fa03dd151 Release 1.19.1 2021-06-01 00:07:55 +01:00
Daniel Almeida
89bc464360 v4l2codecs: gstv4l2codecsvp8dec: implement a render delay
The v4l2 backend support delayed output for performance reasons.
It is then possible to use render delays to queue multiple requests
simultaneously, thus increasing performance.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2150>
2021-05-31 15:48:24 -04:00
Daniel Almeida
82c0005793 codecs: gstvp8decoder: add support for render delay
Some decoding APIs support delayed output for performance reasons.
One example would be to request decoding for multiple frames and
then query for the oldest frame in the output queue.

This also increases throughput for transcoding and improves seek
performance when supported by the underlying backend.

Introduce support in the vp8 base class, so that backends that
support render delays can actually implement it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2150>
2021-05-31 15:48:24 -04:00
Nicolas Dufresne
cd31689ced glcontext: Ask for an alpha channel and fallback
While this was already possible through the GLContext machinary, this simply
request an alpha channel by default and fallback if this is not possible. This
obsolete some RPi Dispmanx hack, since this is near equivalent will allow see
through when playgin WebM Alpha or other transparent files.

Application are still free to pass their own EGLContext attribute, this is
specially for the case the application let GStreamer chose (e.g. gst-launch).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1176>
2021-05-31 13:17:37 +00:00
Daniel Knobe
7641d64825 rawbaseparse: check destination format correctly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1181>
2021-05-31 09:14:53 +02:00
Philippe Normand
064428cb34 webrtcbin: Stop transceivers update after first SDP error
When invalid SDP is supplied, _update_transceiver_from_sdp_media() sets the
GError, so it is invalid to continue any further SDP processing, we have to exit
early when the first error is raised.

Fixes #1595

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2254>
2021-05-30 00:16:10 +00:00
Tim-Philipp Müller
aa4448cdd6 rtpjpegpay: fix image corruption when compiled with MSVC on Windows
On Windows with MSVC, jpeg_header_size would end up 2 bytes larger
than it should be. This then leads to the first 2 bytes of the
actual jpeg image data to be dropped, because we think those
belong to the header, which results in an undecodable image when
reconstructed in the depayloader.

What happens is that when the compiler evaluates

  jpeg_header_size = mem.offset + read_u16_and_inc_offset_by_2(&mem);

it actually uses the mem.offset value after it has been increased
by the function call on the right hand size of the equation.

From section 6.5 of the C99 spec:

  3. The grouping of operators and operands is indicated by the syntax [74].
     Except as specified later (for the function-call (), &&, ||, ?:, and
     comma operators), the order of evaluation of subexpressions and the
     order in which side effects take place are both unspecified.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/889

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/999>
2021-05-29 14:31:34 +01:00
Seungha Yang
b1541a7470 d3d11: Suppress some warning logs
We uses gst_d3d11_device_new() for enumerating device which can
fail for some reason. Don't print warning log for the case.
And decoding capability check is the same case as well.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2286>
2021-05-29 10:30:28 +00:00
Roman Sivriver
0b551382c4 hlssink2: Initialize debug category to prevent an assert with fatal-warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2288>
2021-05-28 17:14:43 -04:00
Seungha Yang
fed06df5f6 d3d11compositor: Reuse converter on alpha update
... instead of creating converter object

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2276>
2021-05-28 21:44:12 +09:00
Seungha Yang
0d34a0233b d3d11converter: Introduce config to be extensible
Add a config argument like that of GstVideoConverter so that
we can add more options without modifying existing methods

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2276>
2021-05-28 21:44:10 +09:00
Seungha Yang
f3331652f2 d3d11shader: Don't hold state object in GstD3D11Quad
We might want to update state object

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2276>
2021-05-28 21:44:07 +09:00
Hou Qi
f4049fc292 v4l2videoenc: Set default latency if the frame duration is invalid
If the duration of the v4l2object is invalid, use default 25fps instead.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/996>
2021-05-28 11:54:53 +00:00
tyler-aicradle
ea33144147 systemclock: fall back to g_get_monotonic_time
This allows us to cover the case where we're on some unknown system that
doesn't have a known native precision monotonic time source. Sadly this
reintroduces some of the complexity removed in previous commits.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/829>
2021-05-27 16:01:17 -05:00
Nicolas Dufresne
49992be643 v4lcodecs: Validate src formats
This add src format validation, this avoid registering element for
drivers we don't support any of their src formats. This also special
case the AlphaDecodeBin wrapper, as we know that alphacombine element
only support I420 and NV12 for now.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2272>
2021-05-27 17:01:11 -04:00
Daniel Almeida
9e86ac4a22 v4l2codecs: add wrappers for alpha decode
codecalpha is a new plugin introduced to support VP8/VP9 alpha as
defined in the WebM and Matroska specifications. It splits the stream
into two streams, one for the alpha and one for the actual content,
then it decodes them separately with vpxdec and finally combine the
results as A420 or AV12 (i.e. YUV + an extra alpha plane).

The workflow above is setup by means of a bin, gstcodecalphabin.

This patch simulates the same workflow into the v4l2codecs namespace,
thus using the new v4l2 stateless decoders for hardware acceleration.

This is so we can register the new alpha decode elements only if the
hardware produces formats we support, i.e. I420 or NV12 for now.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2272>
2021-05-27 17:00:06 -04:00
Olivier Crête
78e7612eb0 audiomixer: Add test for discont going backwards
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1180>
2021-05-27 16:33:00 -04:00
Olivier Crête
fd73fd05ca audioaggregator: Don't overwrite already written samples
On re-sync, don't forget what has already been written. Instead, just
drop any samples that overlap with parts that were already filled.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1180>
2021-05-27 16:33:00 -04:00
Thibault Saunier
32591fece8 validate: Error out on invalid 'foreach' iterator types
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/248>
2021-05-27 12:23:05 -04:00
Thibault Saunier
87f656d1f6 validate: Handle unknown type in foreach types
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/248>
2021-05-27 12:23:05 -04:00
Thibault Saunier
6196aab94b validate: Make array delemiter a line continuation char
Making its usage more friendly

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/248>
2021-05-27 12:23:05 -04:00
Thibault Saunier
3883be76e7 validate:scenario: Allow iterating over arrays in foreach
We used to only support ranges, but we want to allow iterating over
values in an array too.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/248>
2021-05-27 12:23:05 -04:00
Thibault Saunier
8b8a6c8a18 validate: Add a flag to allow defining how to resolve variables in structs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/248>
2021-05-27 12:23:05 -04:00
Thibault Saunier
b3065bb9ec validate:flow: Log caps features
No reason not to use directy the GstCaps serialization function here
This commits avoids needing regenerated all expectations to remove
the `;` which is not generated anymore as it is simple and makes
merging simpler.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/248>
2021-05-27 12:22:13 -04:00
Daniel Almeida
ad70e0d5e8 codecalpha: alphacombine: add support for NV12/AV12
Alpha combine works by appending the GstMemory for the alpha channel
to the GstBuffer containing I420, thereby pushing A420 on its src pad.

Add support for the same workflow for NV12, thereby producing the
recently introduced AV12 format (NV12 + Alpha).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2277>
2021-05-27 11:03:41 -04:00
tyler-aicradle
5328941632 systemclock: reorg real and mono time functions for macOS and win32
This simplifies the pre-processor checks a little to make it easier to
follow the code.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/829>
2021-05-27 09:44:29 -05:00
tyler-aicradle
d8237f150c systemclock: Use g_get_real_time on Windows and macOS for realtime clock
These targets previously were unable to produce wall clock times when
using GstSystemClock, this change makes it possible.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/829>
2021-05-27 09:25:29 -05:00
tyler-aicradle
bb77f41abf systemclock: Reorganize defined checks for parts of GstSystemClock
The gst_system_clock_get_internal_time and
gst_system_clock_get_resolution functions had some nested defined checks
making this code somewhat harder to reason about and much harder to
change. The logical meaning of the checks has changed but the actual
code coming out of the pre-processor should not have changed
significantly. The main logical change was flattening the checks for
existence of posix timing functionality, from what I can tell these
functions aren't available on Windows where they were trying to be
included. I have checked the Linux and macOS output and they are
functionally unchanged.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/829>
2021-05-27 09:25:24 -05:00