Commit graph

113042 commits

Author SHA1 Message Date
Tim-Philipp Müller d2dac4185b subprojects: fdk-aac: add fallback_url
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1244>
2021-10-28 23:29:27 +00:00
Mathieu Duponchelle 303c8025c6 webrtcbin: fix check_negotiation computing on caps event
It seems logical that check_negotiation be true if received_caps
is *not* equal to the new caps.

Also clean up handling of transceivers' ssrc events, as this
patch triggered a leaky code path.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1233>
2021-10-28 19:05:59 +00:00
Mathieu Duponchelle be0b5c54fd webrtcbin: connect input stream when receiving caps
.. if a current direction has already been set

When `webrtcbin` has created an offer based on codec_preferences,
it might not have received caps on its sinkpads by the time a
remote description is set, in which case we want to connect the
input stream upon actual reception of the caps instead.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1233>
2021-10-28 19:05:59 +00:00
Mathieu Duponchelle a9506f20d3 webrtcbin: consider pads with trans->codec_preferences ready
.. when determining whether we can emit on-negotiation-needed

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1233>
2021-10-28 19:05:59 +00:00
Tim-Philipp Müller 9d5b23ff58 mpeg4videoparse: fix criticals trying to insert configs that don't exist yet
With mpeg4videoparse drop=false config-interval=N|-1 we might be
trying to insert a config before we have actually received one,
in which case we'll try to map a NULL buffer which will generate
lots of criticals.

Fixes #855

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1265>
2021-10-28 17:49:03 +01:00
Jan Schmidt f6ed40c93a qtdemux: Fix text and closed-caption handling.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1182
broke text and and closed caption extraction when introducing WebVTT
support, by making the output buffers not have timestamps any more.

Fix that by making the process functions copy buffer metadata
when generating new output buffers.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1262>
2021-10-28 21:45:33 +11:00
Mengkejiergeli Ba 5b1662d37e msdk: Insert hdr sei at hevc encoder
There are two HDR SEIs defined in spec: mastering display colour volume and
content light level. Add insertion of HDR SEIs when they are available
during encoding.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1242>
2021-10-28 08:36:05 +00:00
Rob Agar 641b319fd6 webrtcbin: Also check data channel transport when collating connection state
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/838

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1224>
2021-10-28 05:05:44 +00:00
Víctor Manuel Jáquez Leal cf3d271cde vapostproc: Color fixation will choose othercaps' structure.
gst_va_fixate_format() will iterate all othercaps' structures to find
the one with less information lost at color conversion. If a structure
with same color format is found, the iteration stops. It's like a
smart truncation. Then, this function also will choose the caps
feature.

Later this structure is used fixate its size and no further truncation
is needed.

Don't intersect at fixate, since it kills possible resizing.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1261>
2021-10-27 18:01:50 +00:00
Víctor Manuel Jáquez Leal bc6a7a63f0 vapostproc: Ignore direction at orientation swapping.
It doesn't matter the direction of the negotiation.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1261>
2021-10-27 18:01:50 +00:00
Víctor Manuel Jáquez Leal cbca0bb06e vapostproc: Consider video orientation for border calculation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1261>
2021-10-27 18:01:50 +00:00
Jan Schmidt 78df7ae771 decodebin3: Only unblock for GAP events and buffers.
An alternate fix for
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1239
and https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1236
that makes it clear the intent is to only unblock on a GAP event, and
not any others.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1260>
2021-10-27 22:53:49 +11:00
Chris Wiggins 1e6d26ac2b python: Update audiotestsrc to return correct tuple on FlowReturn Errors
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1259>
2021-10-27 17:20:39 +13:00
Timo Wischer 20b87e39e9 avtpsrc: Retry receive with same buffer size
Without this patch in case of a retry recv() will be called with a
negative size argument.

Signed-off-by: Timo Wischer <timo.wischer@de.bosch.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1078>
2021-10-26 22:46:46 +00:00
Guillaume Desmottes 1d833eba60 parsebin: fix critical when sorting pads
If the pad does not have a current caps, get_pad() returns the query
caps which can be ANY. In such case the caps does not have any structure
resulting in a critical warning when calling gst_caps_get_structure().

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1254>
2021-10-26 16:25:32 +00:00
Mathieu Duponchelle e6f39394f5 cccombiner: fix default value when installing schedule property
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1252>
2021-10-26 14:48:13 +00:00
Mathieu Duponchelle e730bdaa8e cccombiner: fix emission of selected-samples in one case
Detected while reading the code, cccombiner must set
self->current_video_buffer to NULL *after* emitting selected-samples
in order for the application to get a useful return when peeking
the next video sample.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1252>
2021-10-26 14:48:13 +00:00
Mathieu Duponchelle fa1805d531 cccombiner: stop attaching caption buffers when caption pad has gone EOS
When schedule is true (as is the case by default), we insert padding
when no caption data is present in the schedule queue, and previously
weren't checking whether the caption pad had gone EOS, leading to
infinite scheduling of padding after EOS on the caption pad.

Rectify that by adding a "drain" parameter to dequeue_caption()

In addition, update the captions_and_eos test to push valid cc_data
in: without this cccombiner was attaching padding buffers it had
generated itself, and with that patch would now stop attaching
said padding to the second buffer. By pushing valid, non-padding
cc_data we ensure a caption buffer is indeed attached to the first
and second video buffers.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1252>
2021-10-26 14:48:13 +00:00
Matthew Waters fdb16cddb1 ci/fuzzing: update for mono repo
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1253>
2021-10-26 14:09:24 +00:00
Mats Lindestam 9b3f040d3c curlsftpsink: Add support for sha256 fingerprint
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1193>
2021-10-26 12:18:40 +00:00
Mengkejiergeli Ba 3ca6734860 msdkvpp: Add 12bit formats
Add 12bit formats for different chroma samplings at sink pad and
src pad, including P012_LE, Y212_LE and Y412_LE.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1218>
2021-10-26 07:08:10 +00:00
Ruben Gonzalez 0fee1e5d46 devicemonitor: g_queue_clear_full introduced in glib 2.60
The GStreamer dependency is glib >=2.56.0. Therefore, define
g_queue_clear_full if glib < 2.60.

Issue added in commit 1912bcbc

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1251>
2021-10-25 21:55:25 +02:00
Floris 6d447acef5 gs: update README to use fixed versions
Use specific versions, instead of relying on 'master'.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1246>
2021-10-25 18:34:16 +00:00
Floris 14368c6457 gssrc: use default blocksize
The blocksize is set to 3 * 1024 * 1024 / 2, which is the default download_size of Google-Cloud-CPP.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/846

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1246>
2021-10-25 18:34:16 +00:00
Víctor Manuel Jáquez Leal 74c75b1e8b vah265dec: Fix end_picture() vmethod.
Since commit 88437a9c the signature of h265decoder's end_picture()
changed to return GstFlowReturn, but vah265dec was not updated.

This commit fixes this regression.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1248>
2021-10-25 17:01:26 +02:00
Sebastian Dröge 1912bcbcc4 devicemonitor: Only fail start() if no provider at all could be started
Also refactor various internals of the monitor code:
  - Don't allow starting twice but just return directly when starting a
    second time.
  - Don't end up in an inconsistent state if call start() a second time
    while the monitor is starting up.
  - Remove complicated cookie code: it was not possible to add/remove
    filters while the monitor was started anyway so this was only useful
    in the very small time-window while starting the monitor or while
    getting the devices. Instead disallow adding/removing filters while
    the monitor is starting, and when getting devices work on a snapshot
    of providers/filters.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/667

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1189>
2021-10-25 10:13:27 +00:00
Tim-Philipp Müller 139bfc8aeb docs: contribute: bump compiler reqs and coding style to C99
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243>
2021-10-25 09:53:49 +00:00
Sebastian Dröge 23a06f7a31 typefindfunctions: Use memcmp() instead of a strange macro around strncmp()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1234>
2021-10-25 09:17:43 +00:00
Sebastian Dröge 37a744889c typefindfunctions: Add various CMAF brands to the MP4 typefinder
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1234>
2021-10-25 09:17:42 +00:00
Sebastian Dröge 041bc2652b typefindfunctions: Refactor ftyp brands checking
Store known brands in arrays and add a helper function to check them.

Also add all the `iso3` to `isob` ISO brands and the `hlsf` ISO
fragmented brand.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1234>
2021-10-25 09:17:42 +00:00
Sebastian Dröge 66aef5ef46 typefindfunctions: Add various other boxes to the list of known top-level MP4 boxes
styp, udta, sidx, ssix, prft, mfra, pdin and meta are in the ISOBMFF
spec and emsg in the CMAF spec.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1234>
2021-10-25 09:17:42 +00:00
Mengkejiergeli Ba 164244a2eb va: allocator: Fix possible memory leaks
At gst_va_dmabuf_allocator_setup_buffer_full, static code analysis tool
does not know number of objects in descriptor is always larger than 0 if
export_surface_to_dmabuf succeeds. Thus, the tool will assume buf is
allocated with mem but not released when desc.num_objects equals to 0
and raise a mem leak issue.

For gst_va_dambuf_memories_setup, we should also inform the tool that
n_planes will be larger than 0 by checking the value at very beginning.
Then, the defect similar to above will not be raised during static analysis.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1241>
2021-10-25 15:03:30 +08:00
Tim-Philipp Müller 8e3f8e6f7d gst-plugins-ugly: update translations
Fixes #656

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1240>
2021-10-25 01:11:44 +01:00
Tim-Philipp Müller 671fb69524 gst-plugins-bad: update translations
Fixes #656

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1240>
2021-10-25 01:11:34 +01:00
Tim-Philipp Müller 97d35912d9 gst-plugins-good: update translations
Fixes #656

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1240>
2021-10-25 01:11:29 +01:00
Tim-Philipp Müller 4c665ce043 gst-plugins-base: update translations
Fixes #656

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1240>
2021-10-25 01:11:20 +01:00
Tim-Philipp Müller 92de0e7c49 gstreamer: update translations
Fixes #656

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1240>
2021-10-25 01:11:07 +01:00
Andoni Morales Alastruey 6844a243c8 d3d11: add support for new debug layer versions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1237>
2021-10-23 21:46:04 +02:00
Sebastian Dröge 2853c085c7 qtdemux: Add pasp box to the list of known boxes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1235>
2021-10-23 11:39:36 +00:00
Rafał Dzięgiel cfbd820153 assrender: Add "application/vnd.ms-opentype" mimetype detection
The "application/vnd.ms-opentype" mimetype is commonly used in many fonts attached in the matroska videos.
Assrender should treat it as compatible without the need of parsing the file extension.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1207>
2021-10-22 23:41:26 +00:00
Tim-Philipp Müller 77a415c460 docs: contribute: update how-to-submit-patches section for monorepo
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/840#note_1114907

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1231>
2021-10-22 20:28:22 +00:00
Stéphane Cerveau 22f502d864 wrap: libopenjp2: use patch version 7
Add support for win32 build
Disable the binary to avoid the thirdparty
dependency to be checked.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1229>
2021-10-22 19:47:27 +00:00
Pascal Hache d4762346f5 baseparse: fix invalid avg_bitrate after reset
gst_base_parse_reset() does not reset data_bytecount to 0, so
gst_base_parse_update_bitrates() uses a wrong value to calculate
the average bitrate on subsequent pipeline starts. This leads to an
excessive amount of "tag" events being pushed. These events include
very high "bitrate" values that diminish over time, and are produced
until the average bitrate is back to sane values.

Fixes #840

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1228>
2021-10-22 17:38:22 +00:00
Xavier Claessens 99749956f0 Rename toplevel project to gstreamer-full
This generates better tarball names when doing "meson dist" on the top
level project. It is also consistent with that project providing
gstreamer-full library.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1230>
2021-10-22 12:38:46 -04:00
Matthew Waters d4c96bf923 gl/egl: install required egl.h header
Fixes build against using the gir.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1227>
2021-10-22 17:56:41 +11:00
Martin Reboredo 944623c3aa gstvulkan: Constify code in create_shader
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1226>
2021-10-21 23:35:41 -03:00
Tim-Philipp Müller e3bb858239 meson: default to gpl=disabled for gst-plugins-bad and -ugly
This will only affect individual/tarball module builds, as the
options yield to the parent project which was set to gpl=disabled
by default already. We kept it as auto in the original commit
to accommodate the need to update cerbero as well, which had to
be done separately after the initial commit.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1217>
2021-10-21 23:07:48 +00:00
Rafał Dzięgiel 18b5806ab9 assrender: Do not iterate over mimetypes without filename
No point spending time on iterating and comparing strings if we
are going to reject the value due to missing filename anyway.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1206>
2021-10-21 22:21:40 +00:00
Rafał Dzięgiel e6ff71f8e7 assrender: Fix mimetype detection
Previously gst_structure_has_name was used to get a string to compare with supported mimetypes.
This is incorrect as above function returns a user defined structure name which is
not the structure mimetype value.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1206>
2021-10-21 22:21:40 +00:00
Rafał Dzięgiel b57a7c3de7 matroska: Set image/attachment structure mimetype
Set structure mimetype to fix data detection by mimetype in other plugins.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1205>
2021-10-21 21:42:00 +00:00