| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
keys_exported flag should be set only if keys are actually exported.
For that the next conditions are needed:
1 - SSL_export_keying_material on success
2 - SSL_get_selected_srtp_profile returns a valid profile
3 - The profile ID is SRTP_AES128_CM_SHA1_80 or SRTP_AES128_CM_SHA1_32
Also don't crash if NULL is returned as profile.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1612>
|
|
|
|
|
|
| |
And fix a LV2_PORT_GROUPS__rearLeft/LV2_PORT_GROUPS__rearRight typo
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1609>
|
|
|
|
|
|
|
|
|
|
|
| |
GCC 10 defaults to -fno-common. This means that global variables shared
across multiple translation units should be declared as 'extern' in
header files and defined in exactly one C file. See:
https://gcc.gnu.org/gcc-10/porting_to.html
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1125
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1609>
|
|
|
|
|
|
|
| |
Under some conditions, GetMaxPosition() returns zero, which should cause
position queries to fail rather than crash.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1608>
|
|
|
|
|
|
|
|
|
| |
The sample rate is only needed for the POSITION/DURATION queries and we
would otherwise fail important queries like the CAPS query.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/498
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1601>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was removed in Vulkan 1.2.140.
> Shortly after 2020-04-24, we will be removing the automatically
> generated `VK_*_BEGIN_RANGE`, `VK_*_END_RANGE`, and `VK_*_RANGE_SIZE`
> tokens from the Vulkan headers. These tokens are currently defined for
> some enumerated types, but are explicitly not part of the Vulkan API.
> They existed only to support some Vulkan implementation internals,
> which no longer require them. We will be accepting comments on this
> topic in [#1230], but we strongly suggest any external projects using
> these tokens immediately migrate away from them.
[#1230]: https://github.com/KhronosGroup/Vulkan-Docs/issues/1230
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1603>
|
|
|
|
|
|
| |
No API/ABI changes https://github.com/notroj/neon/blob/0.31.0/NEWS#L3
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1599>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
openssl 1.1.1e does some stricker EOF handling and will throw an error
if the EOF is unexpected (like in the middle of a record). As we are
streaming data into openssl here, it is entirely possible that we push
data from multiple buffers/packets into openssl separately.
From the openssl changelog:
Changes between 1.1.1d and 1.1.1e [17 Mar 2020]
*) Properly detect EOF while reading in libssl. Previously if we hit an EOF
while reading in libssl then we would report an error back to the
application (SSL_ERROR_SYSCALL) but errno would be 0. We now add
an error to the stack (which means we instead return SSL_ERROR_SSL) and
therefore give a hint as to what went wrong.
[Matt Caswell]
We can relax the EOF signalling to only return TRUE when we have stopped
for any reason (EOS, error).
Will also remove a spurious EOF error from previous openssl version.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1598>
|
|
|
|
|
| |
We don't want to accidentally multiply G_MAXFLOAT or -GMAXFLOAT
with the sample rate.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use a double instead of a plain float for intermediary
property values, so we have enough bits to store INT_MAX
and it doesn't get rounded and wrapped to -1 when cast
back to a 32-bit integer.
Fixes criticals like
g_param_spec_int: assertion 'default_value >= minimum && default_value <= maximum' failed
when loading LADSPA plugins from the Linux Studio Plugins
Project (http://lsp-plug.in) in GStreamer.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1194
|
|
|
|
| |
Fix for #1199
|
|
|
|
|
|
|
| |
When a pipeline is stopped (actually when the waylandsink element
state changes from PAUSED to READY) the video surface is cleared, but
the opaque black surface behind is not. Fix this by actually clearing
both surfaces.
|
|
|
|
|
|
|
| |
AES128 support was added since nettle version 3.0
../subprojects/gst-plugins-bad/ext/hls/gsthlsdemux.h:110:10: error: field ‘ctx’ has incomplete type
struct CBC_CTX (struct aes128_ctx, AES_BLOCK_SIZE) aes_ctx;
|
|
|
|
|
|
|
| |
Add any ICE candidates from the SDP before adding pending
trickle ICE candidates to support non-trickle peers
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/678
|
|
|
|
|
| |
Previously they were only unmapped in case of binary data, causing all
of them to be leaked.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commit 6adfb120ab0e1bb0b3439ad725a362cfe4fbe733 added this flag to fix
builds with `-Werror`, and afterwards it was changed to use a version
check when newer versions of openexr moved over to C++11.
However, some distros have backported patches to older openexr
versions which make it require C++11, which makes the version check
incorrect and causes an error because we passed `-Werror -std=c++98`.
Instead, directly check when usage of the header requires `-std=c++98`
with `-Werror` and override the `cpp_std` setting on the target.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1117
|
|
|
|
|
|
|
| |
We should commit the parent to activate new subsurface, this is
documented in the protocol.
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
|
|
|
|
| |
Only pass -std=c++98 for openexr 2.3.x.
|
|
|
|
| |
It uses modern C++; adding -std=c++98 breaks the build.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
And only update the caps and stream-start event accordingly. This
ensures that we'll always forward sticky events that arrive after the
caption pad was created, and especially updates to existing sticky
events like the segment event.
Also create a proper stream id based on the upstream stream id for the
stream-start event, and make sure that all the sticky events we know are
already on the caption pad at the time it is added to the element.
|
|
|
|
|
|
|
|
| |
A classic case of not updating the next item to iterate after deleting
it from the singly linked list.
Only ever hit with a text buffer with GST_CLOCK_TIME_NONE for either the
timestamp or duration.
|
|
|
|
|
|
|
| |
In Debian, soundfonts in SF3 format (i.e. the same as SF2 format but
with Ogg/Vorbis-compressed samples) are installed into
/usr/share/sounds/sf3. Soundfonts in SF3 format are supported since
FluidSynth 1.1.7 (released in Feb 2018).
|
|
|
|
|
|
|
|
| |
crypto libraries are not required for hlssink and hlssink2.
Also, hlsdemux with nonencrypted stream can work without crpyto.
Make an error only when users set "hls-crpyto" with non-auto option explicitly,
but no crpyto library was found.
|
| |
|
| |
|
|
|
|
| |
Just use srt's blocking epoll function and fix locking while we're at it.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
On Windows, if libusrsctp and gstreamer are built with different
C runtimes (CRT), we cannot free memory allocated inside libusrsctp
with the `free()` function from gstreamer's CRT.
`usrsctp_freedumpbuffer()` simply calls `free()`, but because of the
way DLLs work on Windows, it will always call the free function from
the correct CRT.
|
|
|
|
|
|
|
| |
Some GIR annotations were incorrect or even missing. The former isn't
good for bindings, while the latter is especially annoying for signal
handlers, as that means your arguments will get the wrong names in the
rendered documentation.
|
|
|
|
|
|
|
|
|
|
|
|
| |
librtmp is always built with MinGW in Cerbero, so if the plugin is
built with MSVC and it frees memory allocated by librtmp, that leads
to a crash since the CRT used by MinGW and MSVC are different.
This is fixed in master by switching to a newer GCC toolchain which
has been configured to use the same CRT as newer versions of Visual
Studio, so there's no cross-CRT memory alloc/free issues.
See: https://gitlab.freedesktop.org/gstreamer/cerbero/issues/164
|
|
|
|
|
| |
The various soundtouch set*() functions may cause buffer (re)allocations
which interferes with inputting the audio data.
|
| |
|
|
|
|
|
|
| |
This reverts commit 6c8831bd1e6e6641534b4b129100661dd8f472b0 from !588
This fix was wrong and also reverted in master.`
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, if one was to set -Dhls-crypto to either libgcrypt or openssl
instead of auto, the following lines would fail because hls_crypto_dep is not
yet set:
if not hls_crypto_dep.found() and ['auto', 'libgcrypt'].contains(hls_crypto)
if not hls_crypto_dep.found() and ['auto', 'openssl'].contains(hls_crypto)
Instead, change "if not hls_crypto_dep.found()" to "if not have_hls_crypto"
which fixes the error.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WebKit's websrc depends on the main-thread for download completion
rendezvous. This exposed a number of deadlocks in adaptivedemux due to
it holding the MANIFEST_LOCK during network requests, and also needing
to hold it to change_state and resolve queries, which frequently occur
during these download windows.
Make demux->running MT-safe so that it can be accessed without using the
MANIFEST_LOCK. In case a source is downloading and requires a MT-thread
notification for completion of the fragment download, a state change
during this download window will deadlock unless we cancel the downloads
and ensure they are not restarted before we finish the state-change.
Also make demux->priv->have_manifest MT-safe. A duration query happening
in the window described above can deadlock for the same reason. Other
src queries (like SEEKING) that happen in this window also could
deadlock, but I haven't hit this scenario.
Increase granularity of API_LOCK'ing in change_state as well. We need to
cancel downloads before trying to take this lock, since sink events
(EOS) will hold it before starting a fragment download.
|
| |
|
|
|
|
| |
The generated certificate dtls agent was refed two times on the first call.
|
| |
|
|
|
|
| |
Remove the now unused property
|
|
|
|
|
| |
Don't aggregate the received data, just receive it one packet at a
time. So it keeps the packetization boundaries
|
| |
|
| |
|
|
|
|
|
| |
SRT does not support IPv6, but the comment said IPv4 which was the
opposite of the following code.
|
|
|
|
| |
Cleaning this up was likely just forgotten
|
|
|
|
|
|
| |
The agent itself will take a ref on the property setter, so we'll be
left with two references to the certificate object, when actually there
should be only one
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Regression introduced by b4bdcf15b7237eb5c5943c4f746701a477333000
This commit prevents the handshake from reaching dtlsdec when
the receive state of the receive bin is set to DROP (for example
when transceivers are sendonly).
This preserves the intent of the commit, by blocking the bin
at its sinks until the receive state is no longer BLOCK, but
makes sure the handshake still goes through, by only dropping
data at the src pads, as was the case before.
|