Commit graph

21 commits

Author SHA1 Message Date
Tim-Philipp Müller 14f0d6c18d qtdemux: add unit test for edit list regression
File is the mp4 file from #2549 with the mdat atom
zeroed out and compressed. We compress twice because
apparently compressing 5MB of zeroes effectively in
one run is too difficult for gzip.

https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2549

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4833>
2023-06-11 23:02:02 +00:00
A. Wilcox 9be676306d tests: Cast drop-messages-interval type properly
The rtpjitterbuffer test drop_messages_interval uses a GstClockTime for
the message drop interval.  This property is defined as a guint.  On
systems with 64-bit time_t but 32-bit uint, this can cause the
g_object_set function to fail to read the arguments properly.

Fixes: #1656
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3582>
2022-12-16 09:36:58 +00:00
Devin Anderson 80de451c06 wavparse: Fix crash that occurs in push mode when header chunks are corrupted
in certain ways.

In the case that a test is provided for, the size of the `fmt ` chunk is
changed from 16 bytes to 18 bytes (bytes 17 - 20 below):
```
$ hexdump -C corruptheadertestsrc.wav
00000000  52 49 46 46 e4 fd 00 00  57 41 56 45 66 6d 74 20  |RIFF....WAVEfmt |
00000010  12 00 00 00 01 00 01 00  80 3e 00 00 00 7d 00 00  |.........>...}..|
00000020  02 00 10 00 64 61 74 61                           |....data|
00000028
```

(Note that the original file is much larger.  This was the smallest sub-file
I could find that would generate the crash.)

Note that, while the same issue doesn't cause a crash in pull mode, there's a
different issue in that the file is processed successfully as if it was a .wav
file with zero samples.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3174>
2022-10-13 12:15:03 +01:00
Sebastian Dröge 1c3636f184 rtpjitterbuffer: Add test for crash caused by removing timers twice
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2996>
2022-09-07 11:26:41 +00:00
Raul Tambre 8bb230b72a rtpjitterbuffer: remove lost timer for out of order packets
When receiving old packets remove the running lost timer if present.
This fixes incorrect reporting of a lost packet even if it arrived in time.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2995>
2022-09-07 11:17:54 +01:00
Seungha Yang c5c149086e splitmuxsink: Don't crash on EOS without buffer
Fix a case where upstream pushed EOS without buffers.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2753>
2022-07-12 17:49:35 +01:00
Tim-Philipp Müller 8befddbaea tests: skip unit tests for dependency-less elements that have been disabled
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1136

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2672>
2022-06-28 15:32:40 +00:00
Tim-Philipp Müller 1d31f9acaf examples: don't try and build jack examples if jack was disabled
Fixes meson build ERROR: Unknown variable "libjack_dep".

Fixes #1301

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2658>
2022-06-24 17:46:07 +01:00
Stéphane Cerveau 5e89be5c84 wavparse: handle query in any parse state
In order to create the stream_id, we need to
pass the query to the default query handler.

If the parse state is different from GST_WAVPARSE_DATA
the query should be passed to the default query
handler.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2011>
2022-03-23 15:00:13 +01:00
Havard Graff c25808c3c8 rtprtx: signed/unsigned and style fixes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1888>
2022-03-08 12:39:56 +00:00
Nirbheek Chauhan 4f7e881fcc qt: Retain compatibility with Qt 5.9
QSharedPointer.get() was added in Qt 5.11, and it does the same thing
as .data()

https://doc.qt.io/qt-5/qsharedpointer.html#get

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

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1565>
2022-01-25 09:51:16 +00:00
Corentin Damman 31f4444724 rtpjitterbuffer: fix typo in tests
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1466>
2021-12-23 14:31:27 +00:00
Mathieu Duponchelle 5dc280de9f rtp/redenc|ulpfecenc: add support for TWCC
In redenc, when input buffers have a header for the TWCC extension,
we now add one to our wrapper buffers.

In ulpfecenc we add one in that case to our protection buffers.

This makes TWCC functional when UlpRed is used in webrtcbin.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1414>
2021-12-14 03:26:56 +00:00
Mathieu Duponchelle 4412198c05 rtpfunnel: fix extmap handling on accept-caps
Follow-up on 97d83056b3, only check
for intersection with the current srccaps when checking if a sinkpad
can accept caps.

I must have been lucky in my firefox testing then, and always entered
the code path with audio getting negotiated first, thus not failing
the is_subset check when srccaps had been negotiated as
application/x-rtp, and an accept-caps query was made for the video
caps with a defined extmap.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1384>
2021-11-23 20:26:30 +00:00
Mathieu Duponchelle 97d83056b3 rtpfunnel: don't enforce twcc during upstream negotiation
A previous patch has caused rtpfunnel to output twcc-related
information downstream, however this leaked into upstream
negotiation (through funnel->srccaps), causing payloader to
negotiate twcc caps even when not prompted to do so by the user.

Fix this by only enforcing that upstream sends us application/x-rtp
caps as was the case originally.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1278>
2021-11-12 18:40:32 +00:00
Tim-Philipp Müller ea8dc0c737 Couple more g_memdup() -> g_memdup2() fixes
Fixes deprecation warnings with newer GLib versions.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1279>
2021-10-30 10:37:37 +01:00
Tim-Philipp Müller 8dfab0b08c meson: update for meson.build_root() and .build_source() deprecation
-> use meson.project_build_root() or .global_build_root() instead.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
2021-10-20 11:20:44 +00:00
Tim-Philipp Müller f1bb2c76c6 meson: update for dep.get_pkgconfig_variable() deprecation
... in favour of dep.get_variable('foo', ..) which in some
cases allows for further cleanups in future since we can
extract variables from pkg-config dependencies as well as
internal dependencies using this mechanism.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
2021-10-20 11:20:44 +00:00
Olivier Crête 0dbe0e21fe rtphdrext-clientaudiolevel: Rename RFC 6464 element
Multiplying elements named after RFC numbers is confusing,
so let's give them meaningful names.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1125>
2021-10-20 00:03:09 +00:00
Philippe Normand c3455def2e soup: Runtime compatibility support for libsoup2 and libsoup3
The src and sink elements no longer link against libsoup. It is now loaded at
runtime. If any version is resident already, it is used. Otherwise we first try
to load libsoup3 and if it's not found we fallback to libsoup2.

For the unit-tests, we now build one version of the test unit file per libsoup
version found. So if both libsoup2 and libsoup3 are available on the host, the
CI will cover them both.

Based on initial patch by Daniel Kolesa <dkolesa@igalia.com> and
Patrick Griffis <pgriffis@igalia.com>.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1044>
2021-10-13 08:32:25 +00:00
Thibault Saunier 5ff769d731 Move files from gst-plugins-good into the "subprojects/gst-plugins-good/" subdir 2021-09-24 16:13:50 -03:00