summaryrefslogtreecommitdiff
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
* dtlsconnection: do not set keys_exported flag if actually not exportedMiguel Paris2020-09-291-2/+7
| | | | | | | | | | | | 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>
* lv2: Namespace global variables and explicitly make them privateThibault Saunier2020-09-284-185/+215
| | | | | | 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>
* lv2: Make it build with -fno-commonDebarshi Ray2020-09-282-31/+64
| | | | | | | | | | | 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>
* modplug: avoid division by zeroJonathan Matthew2020-09-251-5/+9
| | | | | | | 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>
* musepackdec: Don't fail all queries if no sample rate is known yetSebastian Dröge2020-09-251-3/+6
| | | | | | | | | 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>
* vulkan: Drop use of VK_RESULT_BEGIN_RANGEJan Alexander Steffens (heftig)2020-09-251-3/+1
| | | | | | | | | | | | | | | | | 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>
* meson: build with neon 0.31worldofpeace2020-09-251-1/+1
| | | | | | 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>
* dtls/connection: fix EOF handling with openssl 1.1.1eMatthew Waters2020-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* ladspa: only multiply bounded rate properties by sample rateTim-Philipp Müller2020-02-081-2/+4
| | | | | We don't want to accidentally multiply G_MAXFLOAT or -GMAXFLOAT with the sample rate.
* ladspa: fix unbounded integer propertiesTim-Philipp Müller2020-02-081-1/+1
| | | | | | | | | | | | | | | | 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
* fdkaacdec: add support for mpegversion=2Stéphane Cerveau2020-02-081-1/+1
| | | | Fix for #1199
* waylandsink: Clear window when pipeline is stoppedGuillermo Rodríguez2020-02-051-6/+10
| | | | | | | 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.
* hls: Check nettle version to ensure AES128 supportSeungha Yang2020-01-131-1/+1
| | | | | | | 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;
* WebRTC: Support non-trickle ICE candidates in the SDPJan Schmidt2020-01-131-0/+41
| | | | | | | 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
* webrtc: Unmap all non-binary buffers received via the datachannelSebastian Dröge2020-01-081-0/+2
| | | | | Previously they were only unmapped in case of binary data, causing all of them to be leaked.
* opencv: allow compilation against 4.2.xNicola Murino2020-01-011-1/+1
|
* openexr: Fix check for when to pass -std=c++98Nirbheek Chauhan2019-12-021-4/+19
| | | | | | | | | | | | | | | 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
* waylandsink: Commit the parent after creating subsurfaceJeffy Chen2019-11-261-0/+2
| | | | | | | 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>
* openexr: fix compilation with openexr >= 2.4.0 in autotoolsTim-Philipp Müller2019-11-111-1/+1
| | | | Only pass -std=c++98 for openexr 2.3.x.
* openexr: Fix compilation with OpenEXR 2.4Jan Alexander Steffens (heftig)2019-11-041-2/+7
| | | | It uses modern C++; adding -std=c++98 breaks the build.
* ccextractor: Remove unused set/get_property() functionsSebastian Dröge2019-10-291-33/+0
|
* ccextractor: Always forward all sticky events to the caption padSebastian Dröge2019-10-291-44/+77
| | | | | | | | | | | 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.
* ass: avoid infinite unref loop with bad dataMatthew Waters2019-10-061-8/+10
| | | | | | | | 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.
* fluidsynth: add sf3 to soundfont search pathFabian Greffrath2019-10-011-2/+3
| | | | | | | 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).
* hls: Make crypto dependency optional when hls-crypto is autoSeungha Yang2019-09-093-43/+67
| | | | | | | | 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.
* srt: Set latency property on SRT socketOlivier Crête2019-09-011-0/+12
|
* srt: Add sender side statisticsOlivier Crête2019-09-011-35/+92
|
* srtobject: Remove pointless GMainLoopOlivier Crête2019-09-012-111/+107
| | | | Just use srt's blocking epoll function and fix locking while we're at it.
* iqa: fix leak of map_meta.dataMathieu Duponchelle2019-08-211-0/+1
|
* ext/wayland: Define libdrm_dep in meson.buildThomas Coldrick2019-08-201-0/+2
|
* sctp: Fix crash on free() when using the MSVC binariesNirbheek Chauhan2019-08-201-1/+5
| | | | | | | | | | 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.
* webrtc: Fix signals documentationNiels De Graef2019-08-201-3/+6
| | | | | | | 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.
* rtmp: Fix crash inside free() with MSVC on WindowsNirbheek Chauhan2019-08-201-0/+4
| | | | | | | | | | | | 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
* pitch: Fix race between putSamples() and setting soundtouch parametersDoug Nazar2019-08-141-0/+2
| | | | | The various soundtouch set*() functions may cause buffer (re)allocations which interferes with inputting the audio data.
* webrtc: fix type of max-retransmits, make it workDavid Gunzinger2019-08-131-1/+1
|
* Revert "dtls: fix generated cert dtls agent leak"Tim-Philipp Müller2019-08-121-1/+1
| | | | | | This reverts commit 6c8831bd1e6e6641534b4b129100661dd8f472b0 from !588 This fix was wrong and also reverted in master.`
* ext/hls/meson.build: fix dependency logicAdam Duskett2019-08-111-2/+2
| | | | | | | | | | | | 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.
* dtlsagent: Do not overwrite openssl locking callbacksJose Antonio Santos Cadenas2019-08-111-1/+1
|
* adaptivedemux: remove some deadlocks using webkitwebsrc.Charlie Turner2019-08-101-2/+6
| | | | | | | | | | | | | | | | | | | | | | | 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.
* webrtcbin: fix GInetAddress leakIlya Smelykh2019-08-101-1/+4
|
* dtls: fix generated cert dtls agent leakIlya Smelykh2019-08-101-1/+1
| | | | The generated certificate dtls agent was refed two times on the first call.
* dtls: fix dtls connection object leakIlya Smelykh2019-08-101-0/+2
|
* srt: Remove msg-size propertyOlivier Crête2019-08-091-28/+0
| | | | Remove the now unused property
* srtsrc: Receive one frame per gstbufferOlivier Crête2019-08-091-16/+2
| | | | | Don't aggregate the received data, just receive it one packet at a time. So it keeps the packetization boundaries
* srt: Fix listener crash if no URI is specifiedNicolas Dufresne2019-08-091-0/+2
|
* srt: Use macro instead of duplicating a default valueNicolas Dufresne2019-08-091-1/+1
|
* srt: Fix confusing typo in FIXME commentNicolas Dufresne2019-08-091-1/+1
| | | | | SRT does not support IPv6, but the comment said IPv4 which was the opposite of the following code.
* dtlsagent: Clear the certificate upon finalizeJuan Navarro2019-08-091-0/+2
| | | | Cleaning this up was likely just forgotten
* dtlsdec: Avoid duplicate ref when passing certificate propertyJuan Navarro2019-08-091-4/+10
| | | | | | 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
* webrtcbin: fix DTLS when receivebin is set to DROPMathieu Duponchelle2019-08-092-13/+46
| | | | | | | | | | | | | 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.