Sebastian Dröge [Sat, 18 Sep 2021 08:51:03 +0000 (11:51 +0300)]
avcodecmap: Add support for GBRA_10LE/BE
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/142>
Mengkejiergeli Ba [Wed, 15 Sep 2021 08:32:02 +0000 (16:32 +0800)]
msdkh265enc: Add profile main10 still picture for hevc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2524>
Nicolas Dufresne [Thu, 16 Sep 2021 21:12:58 +0000 (17:12 -0400)]
waylandsink: Fix double render check
Our code does not support rendering twice the same wl_buffer in a row, so it
tries to skip that case, but for this it relied on the GstBuffer pointer,
while the cache actually works at the GstMemory level now. To avoid this
compare the GstWlBuffer instead.
This fixes crash when use in zero-copy with videorate element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2526>
Víctor Manuel Jáquez Leal [Tue, 7 Sep 2021 07:45:54 +0000 (09:45 +0200)]
codecs: mpeg2decoder: Use tsg framerate for latency.
Latency setting relies on src pad caps, but they aren't set when the
function is called, and latency is never updated.
In order to fix it, this patch uses TSG framerate first, and if it's
not set yet, sinkpad caps are used to get the framerate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2514>
Seungha Yang [Wed, 15 Sep 2021 15:59:37 +0000 (00:59 +0900)]
d3d11decoder: Refactor for more unified decoding flow
... and various code cleanup.
* Move spreaded decoding API calls into one method
Previously, decoding flow of most codecs are
- Call DecoderBeginFrame() on start_picture()
- Call {Get,Release}DecoderBuffer() on decode_slice()
- Call SubmitDecoderBuffers() and DecoderEndFrame() on end_picture()
Such spreaded API calls make it hard to keep track of status
of decoding. Now it will be done at once in a new method.
* Drop a code for non-zero wBadSliceChopping
When bitstream buffer provided by driver is not sufficient
to write compressed bitstream data, host decoder needs to make use
of wBadSliceChopping so that driver can understand there are
multiple bitstream buffer. But it's a bit unrealistic and
not tested. Since FFMpeg's DXVA implemetaion doesn't support it,
we might be able to ignore the case for now.
* Make code more portable
Consider common logic of GstCodecs -> DXVA translation for all D3D APIs
(i,e., D3D9, D3D11, and D3D12).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2525>
Seungha Yang [Wed, 15 Sep 2021 14:41:39 +0000 (23:41 +0900)]
d3d11decoder: Remove duplicated class_init and property related code
Move them into the decoder helper code to remove duplication
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2525>
Seungha Yang [Fri, 10 Sep 2021 15:43:26 +0000 (00:43 +0900)]
d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN
Instead, change the file defining debug category to cpp
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2525>
Havard Graff [Fri, 10 Sep 2021 14:12:51 +0000 (16:12 +0200)]
videodecoder: Fix min-force-key-unit-interval logic and logging
The new keyframe is needed when the deadline of the buffer has exeeded
the waiting time, not while it is within it.
Also, since we look at the deadline of the frame, log that instead of PTS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1278>
U. Artie Eoff [Tue, 30 Jun 2020 18:15:43 +0000 (11:15 -0700)]
tests: skip cc tests if plugin is disabled
Skip the closedcaption element tests if the
closedcaption option is disabled at compile
time (i.e. -Dclosedcaption=disabled).
v2: rename pangocairo_dep to avoid conflict
with later definition in ext/ttml/meson.build
as suggested by @tpm.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1388>
Olivier Crête [Wed, 18 Aug 2021 23:47:40 +0000 (19:47 -0400)]
rtphdrhext-twcc: Return failure on map failure
This feels like exactly like a case that should fail.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1059>
Olivier Crête [Wed, 18 Aug 2021 23:46:25 +0000 (19:46 -0400)]
rtphdrext: Update write() API to return a signed value
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1059>
Olivier Crête [Wed, 18 Aug 2021 23:40:55 +0000 (19:40 -0400)]
rtphdrext: Make write function return a signed value
Since the return value is documented to possibly be smaller than 0,
then it needs to be signed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1258>
Olivier Crête [Wed, 16 Jun 2021 19:07:13 +0000 (15:07 -0400)]
videorate: Add unit test for closing a segment and opening a separate one
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767>
Olivier Crête [Wed, 16 Jun 2021 19:06:57 +0000 (15:06 -0400)]
videorate: Drop incoming buffers that are outside of the segment
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767>
Olivier Crête [Fri, 24 Jul 2020 21:41:57 +0000 (17:41 -0400)]
videorate: Only "close" the segment if it is discontinous
Otherwise, it will drop valid buffers on a simple segment update
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767>
Olivier Crête [Fri, 24 Jul 2020 21:38:58 +0000 (17:38 -0400)]
videorate: Add test for segment update
Continue as-is on segment update.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767>
Olivier Crête [Fri, 24 Jul 2020 20:35:04 +0000 (16:35 -0400)]
videorate: Update the base time on segment updates
Dropping it to 0 makes videorate push buffers from timestamp 0 again.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767>
He Junyan [Tue, 31 Aug 2021 09:16:05 +0000 (17:16 +0800)]
codecs: h264dec: Check bumping again after inserting current picture.
In order to get the lowest latency, we can add another bumping check after
inserting the current picture into the DPB immediately. That can avoid
waiting for another decoding circle of the next frame and so the latency
is lower.
Fix: #1628
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2501>
He Junyan [Tue, 31 Aug 2021 09:37:11 +0000 (17:37 +0800)]
codecs: h264: Add protection to to_insert picture in bump check.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2501>
He Junyan [Tue, 31 Aug 2021 08:39:06 +0000 (16:39 +0800)]
codecs: h264dec: Improve the policy to infer max_num_reorder_frames.
The max_num_reorder_frames number can change the way we bumping the
pictures in the DPB. The smaller it is, the lower latency we will
get. So it is important for live mode streams, but it is not given
in VUI parameters sometimes. We now improve the policy to infer it:
1. Never guess it in the "strict" compliance.
2. For baseline and constrained baseline profiles, which do not have
B frames, set it to 0.
3. For -intra only profiles, set it to 0.
4. Otherwise, not guess it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2501>
U. Artie Eoff [Wed, 15 Sep 2021 03:57:30 +0000 (20:57 -0700)]
tests: skip aes test if elements not built
In ext/aes/meson.build, the aes_dep will return
not-found if -Daes=disabled, regardless of whether
openssl is found or not. Thus, we don't need a
separate check for the option. This will also
ensure that aes_dep is always defined and we can
use it in the tests/check/meson.build unit.
Fixes #1660
v2: handle -Daes=disabled, too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2522>
Vivienne Watermeier [Mon, 13 Sep 2021 16:24:18 +0000 (18:24 +0200)]
validate: fix relative paths for test files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/256>
Seungha Yang [Tue, 14 Sep 2021 08:26:27 +0000 (17:26 +0900)]
qtdemux: Try to build AAC codec-data whenever it's possible
AAC codec_data is a just collection of AAC profile, samplerate, and
channels. We can know samplerate and channels from parsed
SampleEntry data. Although the AAC profile is unknown there,
let's assume it as AAC-LC like we've been doing for the version 1
atom.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1082>
Philippe Normand [Tue, 31 Aug 2021 16:33:02 +0000 (17:33 +0100)]
wpe: Add support for web:// URIs
The CEF source already supports this. No good reason for wpesrc not too ;)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2503>
Mathieu Duponchelle [Thu, 9 Sep 2021 23:43:18 +0000 (01:43 +0200)]
multiqueue: fix obsolete comment re initial flow status
The initial single queue srcresult is OK, it hasn't been
NOT_LINKED since 2007.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/885>
Mathieu Duponchelle [Thu, 9 Sep 2021 18:25:25 +0000 (20:25 +0200)]
multiqueue: never consider a queue that is not waiting
.. when computing the high id.
After a flush for instance, sq->srcresult is reset to OK,
yet it doesn't make sense to pick a non-existing position
id as the high id when a queue doesn't contain any items
in that situation either.
It is in any case completely OK to let the not-linked stream
get consumed without throttling at this stage, as any
first packet arriving on other single queues will get assigned
a higher position id.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/885>
He Junyan [Fri, 23 Jul 2021 15:38:22 +0000 (23:38 +0800)]
va: h264dec: Try to use ConstrainedBaseline or Main to decode BaseLine.
In the h264, the Baseline profile is widely misused. A lot of streams declare
that they are the Baseline, but in fact they just conform to ConstrainedBaseline.
The features such as FMO and ASO are not used at all.
If the decoder does not strictly conforms to the SPEC, we can just use Baseline
or Main profile to decode it to avoid lots of streams failure.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2428>
Vivienne Watermeier [Tue, 7 Sep 2021 20:23:01 +0000 (22:23 +0200)]
flv: fix seqnum handling for seeks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1078>
Matthew Waters [Mon, 18 Jan 2021 05:06:27 +0000 (16:06 +1100)]
isomp4: also allow muxing different h264/5 profiles/levels/etc
All of that is advertised through the codec_data itself so can change
just fine within isomp4.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1071>
Sebastian Dröge [Sat, 11 Sep 2021 06:24:35 +0000 (09:24 +0300)]
matroska: Add support for muxing/demuxing ffv1
Previously only demuxing when stored via the RIFF/AVI mapping was
supported.
See https://github.com/FFmpeg/FFV1/blob/master/ffv1.md#matroska-file-format
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/923
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1080>
He Junyan [Wed, 28 Jul 2021 15:19:15 +0000 (23:19 +0800)]
codecs: h264dec: Improve the fast bump for the live mode.
We control the policy of fast bump by the profile and the compliance
property. For baseline and constrained baseline profiles, we can use
more radical bump policy. User can also change the bump policy by
setting the compliance property in run time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2432>
He Junyan [Wed, 28 Jul 2021 14:48:21 +0000 (22:48 +0800)]
codecs: h264: Change the low_latency to an enum for dpb_needs_bump().
The bool parameter of low_latency is not enough. We have multi policies for
low latency bumping, from the safest to something radical. So we need an enum
to represent the proper latency requirement.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2432>
He Junyan [Mon, 26 Jul 2021 08:09:19 +0000 (16:09 +0800)]
codecs: h264dec: Add a compliance property to control behavior.
Some features such as the low-latency DPB bumping and mapping the
baseline profile as the constrained-baseline profile do not conform
to the H264 offical spec. But in practice, they are very useful and
are widely needed. We add this compliance property to control the
behavior of the decoder, make it fit more requirement.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2432>
Philippe Normand [Sun, 12 Sep 2021 11:23:36 +0000 (12:23 +0100)]
docs: Update cache
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2521>
Philippe Normand [Sun, 12 Sep 2021 11:18:32 +0000 (12:18 +0100)]
docs: Update cache
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1081>
Philippe Normand [Sun, 12 Sep 2021 09:07:49 +0000 (10:07 +0100)]
discoverer: Prevent stream tags from leaking in global tags
The PrivateStream should keep track of stream tags only. Likewise, the
GstDiscovererInfo should keep track of global tags only.
This patch fixes the issue where the discoverer would report duplicated tag
titles, especially for Matroska media files. The Matroska demuxer emits
correctly-scoped tags, but downstream was making no distinction of them.
Fixes #598, #836, https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/827
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1275>
Thibault Saunier [Fri, 10 Sep 2021 20:11:29 +0000 (17:11 -0300)]
validate: Fix double freeing of GstStructure
gst_validate_get_config is transfer-container only
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/255>
Jordan Petridis [Fri, 10 Sep 2021 15:48:08 +0000 (18:48 +0300)]
citemplate: only build rust docker images in gst-ci repos
They are only used by the gst-rs repos which aren't using
this template anyway, so we don't need to have the jobs for the
rest of the pipelines.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/418>
Jordan Petridis [Fri, 10 Sep 2021 15:46:29 +0000 (18:46 +0300)]
citemplate: Bump tag of latest rustc version
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/418>
Víctor Manuel Jáquez Leal [Tue, 7 Sep 2021 08:55:10 +0000 (10:55 +0200)]
va: Update vapostproc documentation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
Víctor Manuel Jáquez Leal [Tue, 7 Sep 2021 08:16:05 +0000 (10:16 +0200)]
va: Update todo lists, removing deinterlacing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
Víctor Manuel Jáquez Leal [Mon, 23 Aug 2021 09:24:40 +0000 (11:24 +0200)]
Add vadeinterlace element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
Víctor Manuel Jáquez Leal [Tue, 24 Aug 2021 11:53:12 +0000 (13:53 +0200)]
va: filter: Add past and future frames in GstVaSample.
And add them in the pipeline structure if they are provided.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
Víctor Manuel Jáquez Leal [Tue, 24 Aug 2021 11:33:29 +0000 (13:33 +0200)]
va: filter: Add gst_va_filter_add_deinterlace_buffer()
This function decorates gst_va_filter_add_filter_buffer() to get the
number of past and future frames to hold, given the method.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
Víctor Manuel Jáquez Leal [Mon, 21 Dec 2020 17:17:24 +0000 (18:17 +0100)]
va: filter: Add deinterlacing method parameter.
For exposing that gobject parameter a new helper function is added:
gst_va_filter_install_deinterlace_properties()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
Jordan Petridis [Thu, 9 Sep 2021 10:26:01 +0000 (13:26 +0300)]
citemplate: post-merge use upstream urls for fetching scripts
since gstreamer/gst-ci!414 landed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/416>
Víctor Manuel Jáquez Leal [Mon, 23 Aug 2021 14:29:36 +0000 (16:29 +0200)]
va: filter: Protect filters array of overwrite.
It's possible to modify the filters array from another GStremer
thread, and the post-processing operation is not atomic, so the filter
array is reffed while the VA pipeline is processed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
Víctor Manuel Jáquez Leal [Mon, 23 Aug 2021 13:24:55 +0000 (15:24 +0200)]
va: filter: Add helper function to query pipeline caps.
This function is going to be shared for future deinterlace filter
processing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
Víctor Manuel Jáquez Leal [Mon, 23 Aug 2021 13:16:16 +0000 (15:16 +0200)]
va: filter: Shuffle _destroy_filters_unlocked().
In order to put it near to its caller.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
Víctor Manuel Jáquez Leal [Tue, 10 Aug 2021 15:55:43 +0000 (17:55 +0200)]
vapostproc: Move up color balance detection to plugin.
In order to install the color balance interface, a GstVaFilter is
instantiated and queried to know if it supports color balance
filter. It was done just after the GObject was registered. Now, it's
done before.
The reason of this change is that deinterlace element has to be
registered only if deinterlace filter is available, using only one
instantiate of GstVaFilter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
Víctor Manuel Jáquez Leal [Tue, 7 Sep 2021 09:35:09 +0000 (11:35 +0200)]
va: basetransform: Update documentation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
Víctor Manuel Jáquez Leal [Thu, 9 Sep 2021 16:26:56 +0000 (18:26 +0200)]
va: basetransform: Add autoptr clean up function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
Víctor Manuel Jáquez Leal [Mon, 23 Aug 2021 16:44:30 +0000 (18:44 +0200)]
va: basetransform: Use copy_metadata() at buffer import.
Instead of using only gst_buffer_copy_into() use copy_metadata()
vmethod to copy what's needed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
Víctor Manuel Jáquez Leal [Mon, 23 Aug 2021 08:40:32 +0000 (10:40 +0200)]
vapostproc: don't chain up transform_meta()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
Daniel Almeida [Thu, 29 Jul 2021 15:20:30 +0000 (12:20 -0300)]
codecs: gstvp9statefulparser: feature_data should be 0 if feature_enable is 0
The spec says in 6.2.11 that feature_data[i][j] should be zero if
feature_enabled[i][j] is zero. Instead we retained the old value in the parser.
Fix it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2449>
Marek Vasut [Wed, 8 Sep 2021 03:28:22 +0000 (05:28 +0200)]
gsth264parser: Fix handling of NALs with emulation byte set
In case a set of NALs with emulation_prevention_three_byte is decoded using
hardware decoder like Hantro G1, wrong struct v4l2_ctrl_h264_decode_params
.dec_ref_pic_marking_bit_size is passed into the kernel, which results in
decoding artifacts. Subtract the number of emulation three bytes from the
.dec_ref_pic_m->bit_size to get the correct bit size and avoid having these
artifacts. Apply the exact same fix to slice->pic_order_cnt_bit_size as well.
The following NALs (7, 8, 6, 5) decode with artifacts,
.dec_ref_pic_marking_bit_size is set to 10 without this patch.
00000000 00 00 00 01 27 4d 00 20 89 8b 60 3c 04 bf 2e 02 |....'M. ..`<....|
00000010 d4 18 04 18 c0 c0 01 77 00 00 5d c1 7b df 05 00 |.......w..].{...|
00000020 00 00 01 28 ee 1f 20 00 00 01 06 05 10 b9 ed b9 |...(.. .........|
00000030 30 5d 21 4b 71 83 71 2c 10 a3 14 bb 29 80 00 00 |0]!Kq.q,....)...|
00000040 01 25 b8 00 05 00 00 03 03 7f fa 78 1e e7 fd fe |.%.........x....|
^^^^^^^^^^^^--- emulation 3 byte
00000050 b4 62 7a 31 ff 7d 81 fd 26 d8 62 b6 d6 25 46 ae |.bz1.}..&.b..%F.|
The following NALs (7, 8, 6, 5) decode fine,
.dec_ref_pic_marking_bit_size is set to 2 without this patch.
00000000 00 00 00 01 27 4d 00 20 89 8b 60 3c 04 bf 2e 02 |....'M. ..`<....|
00000010 d4 18 04 18 c0 c0 01 77 00 00 5d c1 7b df 05 00 |.......w..].{...|
00000020 00 00 01 28 ee 1f 20 00 00 01 06 05 10 b9 ed b9 |...(.. .........|
00000030 30 5d 21 4b 71 83 71 2c 10 a3 14 bb 29 80 00 00 |0]!Kq.q,....)...|
00000040 01 25 b8 00 04 c0 00 03 7f fa 78 1e e7 fd fe b4 |.%........x.....|
00000050 62 7a 31 ff 7d 81 fd 26 d8 62 b6 d6 25 46 ae ce |bz1.}..&.b..%F..|
Fixes:
d0d65fa875 ("codecparsers: h264: record dec_ref_pic_marking() size")
Fixes:
0cc7d6f093 ("codecparsers: h264: record pic_order_cnt elements size")
Signed-off-by: Marek Vasut <marex@denx.de>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2517>
Aaron Boxer [Fri, 3 Sep 2021 18:57:09 +0000 (14:57 -0400)]
gsth264parser: reject memory management control op greater than 6
This prevents assertion from being thrown in
gst_h264_dpb_perform_memory_management_control_operation
if corrupt NAL has a control op greater than 6
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2508>
Matthew Waters [Thu, 9 Sep 2021 05:44:55 +0000 (15:44 +1000)]
gl/buffer_storage: re-enable GL_ARB_buffer_storage
The extension version doesn't have the ARB suffix.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1273>
Tobias Ronge [Tue, 7 Sep 2021 11:55:08 +0000 (13:55 +0200)]
rtspconnection: Only reset timeout when socket is unused
After sending or retrieving data, gstrtspconnection resets the socket's
timeout to 0 (infinite). This could cause problems if sending and
receiving at the same time. For example, if RTCP data is sent from the
streaming thread while gstrtspsrc is already retrieving data.
With this patch, timeout is only reset to 0 if there is no other
thread using the socket.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1260>
Ung, Teng En [Tue, 24 Aug 2021 09:59:59 +0000 (09:59 +0000)]
msdk: Adjust the plugin and factories description based on MFX_VERSION.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2485>
Andika Triwidada [Thu, 9 Sep 2021 04:08:22 +0000 (04:08 +0000)]
add missing space
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/884>
Jordan Petridis [Thu, 9 Sep 2021 01:02:57 +0000 (04:02 +0300)]
docker/windows: remove workaround to fetch github's cert
looks like it might not be needed anymore
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/414>
Mathieu Duponchelle [Wed, 8 Sep 2021 15:32:30 +0000 (17:32 +0200)]
vulkan: don't link to XOpenDisplay in documentation
hotdoc doesn't know about that symbol
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2518>
Jordan Petridis [Thu, 26 Aug 2021 17:00:50 +0000 (20:00 +0300)]
windows: use a single stage for building image
With gitlab 14.2 now a job can depend on another from the same
stage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/414>
Jordan Petridis [Wed, 8 Sep 2021 12:19:35 +0000 (15:19 +0300)]
docker/windows: update the subprojects cache
Avoid conflicting with gst-build subprojects when copying over
from the cache.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/414>
Jordan Petridis [Wed, 8 Sep 2021 12:14:58 +0000 (15:14 +0300)]
Revert "Revert "docker/windows: build two version of the rust image""
This reverts commit
3cfedc8a9a6272a4a402a5b14cd095c10a0d75c6.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/414>
Jordan Petridis [Wed, 8 Sep 2021 12:14:57 +0000 (15:14 +0300)]
Revert "Revert "docker/windows: build rust image in the ci""
This reverts commit
3f17e16c72409be5d9c257aefc1abd09c4e26b8b.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/414>
Jordan Petridis [Wed, 8 Sep 2021 12:14:54 +0000 (15:14 +0300)]
Revert "Revert "docker/windows: create a rust image for gst-rs""
This reverts commit
b81620c3a75b6fff821e815c65b20f4fe36c677a.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/414>
Jordan Petridіs [Wed, 8 Sep 2021 07:36:47 +0000 (07:36 +0000)]
Revert "docker/windows: create a rust image for gst-rs"
This reverts commit
9c21b05d1bf438d728a69d94c3acae8ddf85d496
Jordan Petridіs [Wed, 8 Sep 2021 06:54:15 +0000 (06:54 +0000)]
Revert "docker/windows: build rust image in the ci"
This reverts commit
5c536f2601bbb547b566e5835af1131762eb2f66
Jordan Petridіs [Wed, 8 Sep 2021 06:52:29 +0000 (06:52 +0000)]
Revert "docker/windows: build two version of the rust image"
This reverts commit
3d9ddab20949a581895e6f430aa862432c58ecd5
Jordan Petridis [Fri, 14 May 2021 08:51:35 +0000 (11:51 +0300)]
docker/windows: build two version of the rust image
Build 2 images with different rust toolchains so we can test
both the latest release, as well as the minimum supported
compiler version and catch regressions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/405>
Jordan Petridis [Sat, 30 Jan 2021 09:46:07 +0000 (11:46 +0200)]
docker/windows: build rust image in the ci
This makes it a bit harder to build an image locally with the script,
as now the rust image requires to pass it the base image tag as a
--build-arg. This way though we don't need to duplicate and keep
the string of the image in sync.
Another thing is that now the docker windows image build is properly
passing/replacing build args and we can build non-master versions
of the image too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/405>
Jordan Petridis [Thu, 15 Oct 2020 23:13:07 +0000 (02:13 +0300)]
docker/windows: create a rust image for gst-rs
Based on the build image for the existing windows jobs,
add an image with rust toolchain and a (stable) gstreamer
install for the bindings to build against.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/405>
Jordan Petridis [Wed, 18 Aug 2021 12:16:24 +0000 (15:16 +0300)]
docker/windows: install vcredist140 explicitly
We depend on it for GStreamer builds and it was gettings pulled
transiently by python3 install.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/405>
Ludvig Rappe [Thu, 2 Sep 2021 09:55:09 +0000 (11:55 +0200)]
pbutils: Add mjpg to MIME codecs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1270>
Matthew Waters [Tue, 7 Sep 2021 12:47:09 +0000 (22:47 +1000)]
cerbero: fix cross-macos universal building all of cerbero
When building outside of cerbero, we only want to build the gst modules
as necessary.
Regression introduced by
03c5f1db29d751f8ccbe6062d8046c307c92a60d
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/413>
Seungha Yang [Tue, 3 Aug 2021 10:12:11 +0000 (19:12 +0900)]
jpegdec: Fix crash when interlaced field height is not DCT block size aligned
In case of interlaced JPEG file, we are doubling stride.
The scratch scan line should take account of it as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1042>
Jan Schmidt [Mon, 30 Aug 2021 13:26:39 +0000 (23:26 +1000)]
mpeg2enc: Only allow 1 pending frame for encoding
Having an unlimited input queue is very bad if the
encoder can't run at real-time. Eventually it will
consume all RAM. I don't really see any reason to
have more than 1 outstanding encoded frame, so
remove the queue and limit things to 1 pending frame.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2499>
Jan Schmidt [Sun, 5 Sep 2021 15:43:57 +0000 (01:43 +1000)]
multiqueue: Use running time of gap events for wakeups.
Use gap events to update the next_time of a queue the same
as buffers or segment events. Fixes problems where a group
consisting only of sparse streams primarily driven by
gap events would stall with a full multiqueue because
unlinked streams in the group were not being woken to
push data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/879>
Thibault Saunier [Wed, 1 Sep 2021 21:35:45 +0000 (17:35 -0400)]
wpe: Fix race condition on teardown
There was a race when going to PAUSED while pushing a buffer to the
pipeline process (where we weren't even cancelling anything).
This rework base all the cancellation around the GCancellable
"cancelled" signal trying to ensure that the streaming thread will not
block once a cancel operation happens.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2504>
Thibault Saunier [Wed, 1 Sep 2021 21:26:04 +0000 (17:26 -0400)]
wpe: Use the new element.get_current_running_time API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2504>
Thibault Saunier [Wed, 1 Sep 2021 21:24:45 +0000 (17:24 -0400)]
wpe: Mark first buffer as starting at 0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2504>
Mathieu Duponchelle [Sun, 1 Aug 2021 16:20:06 +0000 (18:20 +0200)]
decodebin3: fix unblocking on input gap events
Initial gap events should not be discarded on the input streams,
but instead cause unblocking just as buffers do.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1239>
Thibault Saunier [Tue, 10 Aug 2021 21:10:43 +0000 (17:10 -0400)]
launch: Make enabling validate opt-in
Instead of opt-out.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/264>
Philippe Normand [Thu, 24 Jun 2021 15:00:03 +0000 (16:00 +0100)]
parsebin: Guess subtitle/ caps as text streams
The subtitles in ogg/kate are identified using subtitle/ caps names.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1213>
Seungha Yang [Thu, 2 Sep 2021 13:06:52 +0000 (22:06 +0900)]
videoparseutils: Fix for wrong CEA708 minimum size check
The minimum possible size of valid CEA708 data is 3 bytes, not 7 bytes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2505>
Sebastian Dröge [Thu, 2 Sep 2021 05:38:54 +0000 (08:38 +0300)]
avidemux: Also detect 0x000001 as H264 byte-stream start code in codec_data
This works around some AVI files storing byte-stream data in the
codec_data. The previous workaround was only checking for
0x00000001 (4 bytes) instead of 0x000001 (3 bytes).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1072>
Philippe Normand [Sun, 29 Aug 2021 10:04:17 +0000 (11:04 +0100)]
wpevideosrc: Uniformise default value for draw-background property
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2498>
Philippe Normand [Sun, 29 Aug 2021 09:30:53 +0000 (10:30 +0100)]
wpevideosrc: Implement basic heuristic for raw caps negotiation
Before this patch raw caps could be negotiated already with a capsfilter, but in
cases where wpesrc is being auto-plugged this approach can't be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2498>
Philippe Normand [Sun, 29 Aug 2021 09:28:57 +0000 (10:28 +0100)]
wpevideosrc: Ensure debug category is set
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2498>
Jordan Petridis [Tue, 31 Aug 2021 16:47:34 +0000 (19:47 +0300)]
git-update: dump output in case subproject download fails
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/261>
Philippe Normand [Tue, 31 Aug 2021 10:05:16 +0000 (11:05 +0100)]
qt: Fix build for Qt 5.9
The QQuickItem::size() method was introduced in 5.10, so use direct width() and
height() access instead.
Fixes #908
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1069>
Matthew Waters [Tue, 31 Aug 2021 05:31:23 +0000 (15:31 +1000)]
rtp: add some additional rtcp sdes values
Matches the current list at
https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-5
as of 2021-September.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1267>
Mathieu Duponchelle [Thu, 15 Jul 2021 19:10:14 +0000 (21:10 +0200)]
cccombiner: fix scheduling with interlaced video buffers
The initial code was written with the misunderstanding that
IS_TOP_FIELD indicated that an interlaced buffer contained
a top field, not that it contained only a top field
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2413>
Olivier Crête [Thu, 19 Aug 2021 14:32:27 +0000 (10:32 -0400)]
rtphdrext-rfc6464: Add test for inserting in payloader using the API
This makes it clearer how to use the plugin in an API driven application.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1058>
Olivier Crête [Wed, 18 Aug 2021 23:36:07 +0000 (19:36 -0400)]
rtphdrext-rfc6464: Put max level if the audio is beyond it
Otherwise, it just fails to add the extension, which makes no
sense. And our level element produces levels higher than 127 in some
cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1058>
Olivier Crête [Wed, 18 Aug 2021 23:35:36 +0000 (19:35 -0400)]
rtphdrext-rfc6464: Add example pipeline
This makes it a bit easier to understand how to use it in an application.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1058>
Olivier Crête [Wed, 18 Aug 2021 23:07:18 +0000 (19:07 -0400)]
rtphdrext-rfc6464: Add test for inserting it based on caps
Tests adding the extension based on the caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1058>
Nirbheek Chauhan [Mon, 30 Aug 2021 11:53:05 +0000 (17:23 +0530)]
meson: Don't use add_global_arguments when a subproject
This is the correct fix for https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/236
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/259>