summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Release 1.16.31.16.31.16Tim-Philipp Müller2020-10-216-63/+960
|
* Update docsTim-Philipp Müller2020-10-21134-160/+151
|
* Update translationsTim-Philipp Müller2020-10-214-278/+262
|
* Automatic update of common submoduleTim-Philipp Müller2020-10-202-53/+52
| | | | From 59cb678 to a825d27
* codecparsers: h264parser: guard against ref_pic_markings overflowAndrew Wesie2020-10-161-3/+7
|
* 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>
* wasapi: Fix possible deadlock while downwards state changeSeungha Yang2020-09-284-7/+62
| | | | | | | IAudioClient::Stop() doesn't seem to wake up the event handle, then read() or write() could be blocked forever by WaitForSingleObject. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1610>
* 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>
* audiobuffersplit: Specify in the template caps that only interleaved audio ↵Sebastian Dröge2020-09-281-2/+4
| | | | | | | | | | | is supported Needs special support for non-interleaved audio and e.g. use the GstPlanarAudioAdapter. See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/779 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1611>
* h264parser: Do not allocate too large size of memory for registered user ↵Seungha Yang2020-09-252-7/+23
| | | | | | | | | data SEI Don't be confused by the unit of payload size (i.e., bits and bytes) Also this need a documentation with Since mark Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1597>
* audiobuffersplit: Perform discont tracking on running timeSebastian Dröge2020-09-252-53/+80
| | | | | | | | Otherwise we would have to drain on every segment event. Like this we can handle segment events that don't cause a discontinuity in running time to be handled without draining. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1602>
* audiobuffersplit: Keep incoming and outgoing segments separateSebastian Dröge2020-09-252-11/+35
| | | | | | | | | We might have to drain already queued input based on the old segment before forwarding the new segment event. The new segment is only forwarded after a discont as otherwise we might cause unnecessary timestamp jumps as we output buffers timestamped based on sample counts. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1602>
* 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>
* proxysink: event_function needs to handle the event when it is disconnecetd ↵Jose Quaresma2020-09-251-1/+3
| | | | | | | | | | | from proxysrc without this a disconneted proxysink fail when goes to play with error: Internal data stream error. streaming stopped, reason error (-5) Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1607>
* wasapi: added missing lock release in case of error in gst_wasapi_xxx_resetSilvio Lazzeretti2020-09-252-4/+6
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1606>
* audiobuffersplit: Unset DISCONT flag if not discontinuousSebastian Dröge2020-09-251-1/+6
| | | | | | | | | | | | | | | | And also set/unset the RESYNC flag accordingly. It can happen that the flag is preserved by GstAdapter from the input buffer. For example if a big input buffer is split into many small ones, each of the small ones would have the flag set. All other buffer flags seem safe to keep here if they were set, including the GAP flag. Also ensure that the buffer is actually writable before changing any flags or metadata on it. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1605>
* amcvideodec: fix sync meta copying not taking a referenceMatthew Waters2020-09-251-1/+1
| | | | | | | | Fixup for 9b9e39be248389370e80b429da5a528418733483: amc: Fix crash when a sync_meta survives its sink https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/603 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1604>
* 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>
* autoconvert: fix compiler warnings with g_atomic on recent GLib versionsTim-Philipp Müller2020-09-251-1/+1
| | | | | | | | | | | | The volatile is not needed here and causes compiler warnings with newer GLib versions. gstautoconvert.c: In function ‘gst_auto_convert_dispose’ (and elsewhere): glib/gatomic.h:108:3: warning: initialization discards ‘volatile’ qualifier from pointer target type [-Wdiscarded-qualifiers] gstautoconvert.c:224:24: note: in expansion of macro ‘g_atomic_pointer_get’ 224 | GList *factories = g_atomic_pointer_get (&autoconvert->factories); Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1600>
* 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>
* openslessink: Allow openslessink to handle 48kHz streams.Matthew Read2020-06-071-4/+1
| | | | | | | | The most common audio sample rate in AV streams is 48kHz, and the most common device output sample rate is 48kHz. This allows handing of 48kHz input streams without resampling. Remove comments about avoiding the use of 48kHz.
* msdkdec: Fix GstMsdkContext leakSeungha Yang2020-02-151-0/+2
|
* msdk: Clear reference counted object in dispose() methodSeungha Yang2020-02-153-8/+17
| | | | Follow GObject's memory management model
* 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.
* msdkdec: Do not use video memory on WindowsSeungha Yang2020-01-201-0/+7
| | | | Like msdkenc, do not use video memory by default on Windows.
* msdk: Fix increasing memory usage in dynamic pipelinesNirbheek Chauhan2020-01-207-0/+42
| | | | | | | | | | | | | | | | | | | | | | | Our context is non-persistent, and we propagate it throughout the pipeline. This means that if we try to reuse any gstmsdk element by removing it from the pipeline and then re-adding it, we'll clone the mfxSession and create a new gstmsdk context as a child of the old one inside `gst_msdk_context_new_with_parent()`. Normally this only allocates a few KB inside the driver, but on Windows it seems to allocate tens of MBs which leads to linearly increasing memory usage for each PLAYING->NULL->PLAYING state cycle for the process. The contexts will only be freed when the pipeline itself goes to `NULL`, which would defeat the purpose of dynamic pipelines. Essentially, we need to optimize the case in which the element is removed from the pipeline and re-added and the same context is re-set on it. To detect that case, we set the context on `old_context`, and compare it to the new one when preparing the context. If they're the same, we don't need to do anything. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/946
* msdk: Reorganize context preparation codeNirbheek Chauhan2020-01-205-71/+129
| | | | | | Split it out into a separate function with early exits to make the flow clearer, and document what the function is doing clearly. No functional changes.
* msdk: Fix warning about unused variable on WindowsNirbheek Chauhan2020-01-202-0/+4
|
* msdk: Use gst_clear_object()Nirbheek Chauhan2020-01-173-20/+15
| | | | | `gst_object_replace()` is not supposed to be used for unreffing and NULLing objects.
* pkgconfig: Remove unused substitution in uninstalled.pc.inNirbheek Chauhan2020-01-151-1/+1
| | | | `@videolibdir@` isn't used anymore.
* tests: Fix minor bugs in usage of config.hNirbheek Chauhan2020-01-156-7/+11
|
* ipcpipeline: Minimal fixes that allow building with MSVCNirbheek Chauhan2020-01-152-4/+11
|
* ipcpipeline: Rework compiler checksNirbheek Chauhan2020-01-152-26/+21
| | | | | | | | | `pipe()` isn't used since 15927b6511bc8304ae144a45c9fbfca88e5dd641, and `socketpair()` from `#include <sys/socket.h>` is used only in the examples. In practice, you can use probably also use anything that allows you to create fd pairs, such as named pipes or anonymous pipes. We use the cross-platform GstPollFD API in the plugin.
* 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
|
* autoconvert: Fix lock-less exchange or free conditionNicolas Dufresne2020-01-011-1/+1
| | | | | | Before this change, we would free the list we just have saved. Fixes #1158
* avfvideosrc: element requests camera permissions even with capture-screen ↵Roman Shpuntov2019-12-111-0/+4
| | | | | | | | | | property is true https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1137 macOS has different dialogs for camera capture and screen capture. No need to request screen capture permissions, the system detect screen capture automatically and create request dialog.
* interlace: Store unsigned integers in unsigned integer typesSebastian Dröge2019-12-061-6/+10
| | | | | And add some assertions to guard against overflows and out of bounds reads.
* interlace: Increment phase_index before checking if we're at the end of the ↵Sebastian Dröge2019-12-061-3/+3
| | | | | | | | | | | | | | | phase Incrementing it afterwards will always have to phase_index >= 1 and we will never be at the beginning (0) of the phase again, and thus never reset timestamp tracking accordingly. This was broken in bea13ef43b719aad96e28766cd4d23652a891a20 in 2010, and causes interlace to run into integer overflows after 2^31 frames or about 5 hours at 29.97fps. Due to usage of wrong types for the integers this then causes negative numbers to be used in calculations and all calculations spectacularly fail, leading to all following buffers to have the timestamp of the first buffer minus one nanosecond.
* Release 1.16.21.16.2Tim-Philipp Müller2019-12-036-21/+568
|
* Update docsTim-Philipp Müller2019-12-03131-130/+132
|
* Update translationsTim-Philipp Müller2019-12-031-26/+47
|