Commit Graph

2207 Commits

Author SHA1 Message Date
krasjet 06749e0c67 remove volatile qualifier on ringbuf r/w pointers
The volatile constraints are excess when compiler barriers are present.
It generates unnecessary `mov` instructions when pointers aren't going
to be updated.
2022-08-27 18:07:35 +03:00
krasjet 165f5fdd92 fix ringbuffer thread safety on ARM. fix #715 #388
This patch addresses the thread safety problem of `jack_ringbuffer_t`
mentioned in #715 and #388. The overbound read bug caused by this problem
is impossible to reproduce on x86 due to its strong memory ordering, but
it is a problem on ARM and other weakly ordered architectures.

Basically, the main problem is that, on a weakly ordered architecture,
it is possible that the pointer increment after `memcpy` becomes visible
to the other thread before `memcpy` finishes:

	memcpy (&(rb->buf[rb->write_ptr]), src, n1);
	// vvv can be visible to reading thread before memcpy finishes
	rb->write_ptr = (rb->write_ptr + n1) & rb->size_mask;

If this happens, the other thread can read the remaining garbage values
in `rb->buf` due to be overwritten by the unfinished `memcpy`.

To fix this, an explicit pair of release/acquire memory fences [1] is
used to ensure the copy on the other thread *happens after* the `memcpy`
finishes so no garbage values can be read.

[1]: https://preshing.com/20130922/acquire-and-release-fences/
2022-08-27 18:07:35 +03:00
Filipe Coelho 99e5d115ea
Update link to new-session-manager jackaudio page 2022-08-14 23:23:54 +01:00
falkTX 9267f9c61f
Bump version and update changelog
Signed-off-by: falkTX <falktx@falktx.com>
2022-05-04 11:26:57 +01:00
falkTX 88102ec4a7
Bump version to 1.9.21
Signed-off-by: falkTX <falktx@falktx.com>
2022-04-13 19:02:09 +01:00
David Runge aa27576236
Fix wscripts syntax (#826)
* Add flake8 configuration

.flake8:
Add flake8 configuration that limits the line length to 120 chars and
outputs to flake8.txt

* Add flake8.txt to gitignore

.gitignore:
Add flake8.txt (flake8 output file) to ignore.

* Syntax fixes and cleanup for top-level wscript

wscript:
Fix syntax of wscript according to pep8 (but do not break long lines).
Remove unused imports and move all module level imports to the top of
the file.
Fix broken build target of IIO driver (source argument to
`create_driver_obj()` supplied an uninitialized variable).
Break lines at 120 chars.

* Fix common/wscript syntax

common/wscript:
Fix syntax problems, unneeded imports and break lines at 120 chars.

* Fix compat/alloca/wscript syntax

compat/alloca/wscript:
Fix compat/alloca/wscript syntax

* Fix compat/wscript syntax

compat/wscript:
Fix compat/wscript syntax

* Fix dbus/wscript syntax

dbus/wscript:
Fix syntax and break lintes at 120 chars.

* Fix example-clients/wscript syntax

example-clients/wscript:
Fix syntax and remove commented code.

* Fix tests/wscript syntax

tests/wscript:
Fix syntax and commented code.

* Fix tools/wscript syntax

tools/wscript:
Fix tools/wscript syntax.

* Add github workflow for linting wscripts

.github/workflows/lint.yml:
Add github workflow for linting wscripts using findutils and flake8.

* Fix project version extraction in CI

.github/workflows/build.yml:
Adapt the project version extraction in CI to the syntax changes in
the top-level wscript.
2022-04-13 18:29:29 +01:00
Be cceca54255
fix JackWeakAPI on Windows (#846)
* JackWeakAPI: fix DLL loading on Windows

LoadLibrary takes a LPCWSTR (UTF16). LoadLibraryA is needed to
work with ASCII C string literals.

* JackWeakAPI: call tryload_libjack if it hasn't been called already

On non-Windows tryload_libjack is loaded on startup with
__attribute__((constructor)) but with MSVC, Microsoft documentation
says to not load libraries in a DLL's initialization function:
https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-best-practices

* JackWeakAPI: add debugging message for Windows
2022-04-13 18:25:47 +01:00
Florian Walpen 4c55ca8be0 Missing check for graph manager in JackAPI.
This seems to be the only place where the result of GetGraphManager() is
not checked for null, at least in JackAPI. Found by llvm scan-build.
2022-04-07 15:20:45 +01:00
Florian Walpen d8f59c2f80 Fix bad deallocation in JackMidiAsyncQueue.
The code is only run when other allocations fail, fix it anyway.
This was found by llvm scan-build.
2022-04-07 15:20:45 +01:00
Florian Walpen 21b293dbc3 Fix alignas() on non-packed architectures (#839).
Unbreak the build with Clang on architectures where JACK uses non-packed
data structures, like arm64 or powerpc. The alignment errors are exposed
there because:
 * The non-packed data structures require 8 byte alignment.
 * alignas() is not allowed to weaken alignment requirements to 4 bytes.
 * Clang enforces this according to standard, GCC ignores it.

Use an additional alignas() specifier to let the compiler choose between
minimum alignment (packed) and "natural" alignment (non-packed). This is
both standard c++11 and compatible with older GCC, which does not
propagate alignment requirements of packed substructures properly.
2022-02-08 18:59:46 +00:00
Florian Walpen 2980933a80 API: Export missing symbols to jack library.
The function pointers jack_error_callback and jack_info_callback are
offered by the jack.h header as non-weak API members, but they were not
exported to the jack library, only to the jackserver library.

This broke the Jack backend of the OpenAl Soft library when switching
from Jack1 to Jack2.
2022-01-16 17:17:15 +01:00
Claudio Cabral 719fa1d545 Add 32 bit support for ALSA driver (#811)
* apply changes without whitespace

* remove neon intrinsics and fix indentation

* update float_32 macro and fix misspellings

* check msbits to determine number of bits in alsa driver

* add better error messages and support for SND_PCM_FORMAT_S32_BE

* log when sample format is not equal to bits

Co-authored-by: Claudio Cabral <clca@bang-olufsen.dk>
Co-authored-by: Claudio Cabral <cl@udio.co>
2022-01-15 15:09:56 +00:00
Alexander Traud e2ad1e40cf Fix grouping for latest doxygen.
Since doxygen 1.8.16, opening and closing a group must not be done as
C comment but as doxygen command. In other words, not one but two
asterisk characters are required so that doxygen finds a group.
2022-01-15 15:09:56 +00:00
Aleksandr Beliaev d4d464e2b1 Override permission issues by separating users metadata 2022-01-15 15:09:56 +00:00
Goran Mekić 25e09df3a6 It compiles 2022-01-15 15:09:55 +00:00
Greg V 92e9596aa5 Put the clock_gettime based time impl into posix/ 2022-01-15 15:09:55 +00:00
Goran Mekić 5c667d5282 Add FreeBSD support 2022-01-15 15:09:55 +00:00
Camille Gonnet 8d51e9a005 ALSA: convert properly S24_LE 2022-01-15 15:09:55 +00:00
Peter Bridgman 7e599badec macOS: Pass JackMachSemaphore send right via mach_msg IPC (#788)
* macOS: Pass JackMachSemaphore send right via mach_msg IPC

Previously, JackMachSemaphore would communicate the send right for the
semaphore object from the server to a client via a named service
registered via `bootstrap_register`. However, to do this, it would
register the semaphore's port as the service port directly.

In theory this ought to be fine, however in practice, macOS `launchd`,
which provides the `bootstrap_register` interface, does not correctly
detect when such a port becomes dead, and incorrectly believes that the
service that it provides is forever alive, even past the end of the
`jackd` process' (and therefore the semaphore's) existence. This seems
to be *specific* to semaphore ports, as `launchd` is expecting a
standard IPC port, owned by the task, not the kernel. This prevents
`jackd` from later registering another service with the same name, as
`launchd` rejects the registration as conflicting with an active service.

To get around this, `jackd` previously added a counter to the end of the
named service registrations, allowing old services to remain in the
system until the end of the session. To prevent things getting out of
hand, this was capped at 98 service registrations for a given semaphore
name. This led to #784, in which running a client for the 99th time
resulted in the semaphore creation failing and the client failing to
connect.

As `launchd` outlives multiple runs of `jackd`, this situation persisted
across restarts of `jackd`, requiring a restart of the user's session
(i.e. a reboot) to fix.

An initial attempt at fixing this (see #785) tried passing the port
rights directly via shared memory, however mach is too clever for us and
foils that plan by having port names be looked up in a per-task table
(sensible when you think about it).

In this commit, we use mach IPC messages to transfer the send right for
the semaphore from the server to the client. By registering a standard
IPC port with the bootstrap server, the service registrations are
correctly torn down when the ports are destroyed.

It works something like this:

* Server creates IPC port and registers it globally via `bootstrap_register`
* Server listens on IPC port for messages
* Client looks up IPC port via `bootstrap_look_up`
* Client sends it a message
* Server replies with a message containing a send right to the
semaphore's port
* Client is then free to use the semaphore port as before.

This resolves #784.

* Improve error handling

* Add myself to Authors
2022-01-15 15:09:55 +00:00
falkTX 03f474c611 Start of v1.9.20
Signed-off-by: falkTX <falktx@falktx.com>
2022-01-15 15:09:55 +00:00
falkTX 13d5eccba4
Bump protocol version as internal ABI has changed (struct alignment)
Signed-off-by: falkTX <falktx@falktx.com>
2021-07-05 20:42:42 +01:00
Filipe Coelho 814629b566
Add jack_position_t::tick_double, and flags around it (#770)
* Add jack_position_t::tick_double, and flags around it

Signed-off-by: falkTX <falktx@falktx.com>

* s/precision/resolution/

Signed-off-by: falkTX <falktx@falktx.com>
2021-07-05 20:25:09 +01:00
Anthony Scopatz a054008c7a __STDC_FORMAT_MACROS needs to be first 2021-06-30 09:17:42 +01:00
Colin McEwan dff7fa4fa8
Fix alignment of fields for atomic accesses (#761)
* Assert alignment is suitable for atomic accesses

* Move fields and pad to meet alignment constraints

* Add padding to JackEngineControl to account for inherited data

* Parenthesise padding length for clarity

* Revert "Parenthesise padding length for clarity"

This reverts commit 1f757b9ece5e3b032743c6c5ac49e83c3928e3de.

* Revert "Add padding to JackEngineControl to account for inherited data"

This reverts commit 3d8c7d83ad9483280f623171af7e40ccc76cef38.

* Revert "Move fields and pad to meet alignment constraints"

This reverts commit ff631bbbdc2279df05f3a18dd44e8fd68be2e04d.

* Assure alignment by using 'alignas' on fields
2021-06-30 09:16:28 +01:00
luz paz 0fe68adecc Fix misc. typos
Found via `codespell -q 3 -L capela,nd,numer,parm`
2021-06-30 09:11:21 +01:00
falkTX dd1d70c8ff
Start of 1.9.19
Signed-off-by: falkTX <falktx@falktx.com>
2021-04-29 16:59:52 +01:00
chzchzchz 01f0dabd14 JackLinuxFutex: treat maximum TimedWait() as Wait() and retry on EINTR
FUTEX_WAIT may be interrupted by a signal and return EINTR. If a client
process takes a signal while on the futex, the jack client may error out
with no way to recover despite the signal being safe. Instead, retry if
errno is set to EINTR.
2021-04-14 16:20:02 +01:00
falkTX 1dea3e2c01 Start v1.9.18
Signed-off-by: falkTX <falktx@falktx.com>
2021-04-13 10:16:49 +01:00
falkTX d8b06051bf Log error message when cleaning previous DB, allow it on macOS too 2021-04-12 18:40:41 +01:00
falkTX 147232532f
Ignore DB_VERSION_MISMATCH error on windows, it is expected 2021-01-05 01:13:08 +00:00
falkTX b04b61622e
Prepare for future things 2021-01-05 00:52:13 +00:00
falkTX 94a59faae9 Fix macOS x86_64 + arm64 interoperability 2020-12-28 21:12:02 +00:00
Fabian Koller b2ba349a4e Change returncodes of jackd on success
`--help` and `--version` do not result in server failures.
Instead of returning the default `-1`, return a more reasonable `0`.
2020-11-27 17:57:28 +01:00
falkTX 0f2e3b2e83
Force library compat/current version under macOS
Signed-off-by: falkTX <falktx@falktx.com>
2020-10-17 22:24:25 +01:00
falkTX db76dd6bb8
1.9.16 release
Signed-off-by: falkTX <falktx@falktx.com>
2020-10-16 20:10:20 +01:00
falkTX d8e744aa0c
Revert "metadata: Make JACK_METADATA_* constant"
This reverts commit f3e8a6bc6b.

See https://github.com/jackaudio/jack2/issues/646 for the reason.
As the old headers are already widely used, it is too late now.
2020-10-16 19:43:02 +01:00
Stephane Letz 1f8883862e Fix jackctl_parameter_reset and jackctl_parameter_set_value return values. 2020-10-16 16:27:48 +02:00
falkTX ef0f3c0931
Preparations for 1.9.15 release
Signed-off-by: falkTX <falktx@falktx.com>
2020-10-12 18:23:00 +01:00
Maciej Bliziński eaf8b75301 Clarification about jack_port_get_latency_range().
jack_port_get_latency_range only returns meaningful values after ports get
connected, and that is signalled via the latency callback. Saying that it's
normally used in callbacks is too soft, the docs should make it clear that the
function is not very useful outside of the callback, because you don't know
whether the port is connected / whether the latency values changed.
2020-10-11 22:23:10 +01:00
falkTX cc114987bb
Generate and install Windows libraries def files
Signed-off-by: falkTX <falktx@falktx.com>
2020-09-25 21:36:30 +01:00
falkTX 2cfd3d008c
Generate def files for Windows builds
Signed-off-by: falkTX <falktx@falktx.com>
2020-09-25 19:19:49 +01:00
falkTX 5a9a7c50cc
Add --static configure flag, used for official windows builds
Signed-off-by: falkTX <falktx@falktx.com>
2020-09-13 04:17:26 +01:00
falkTX 1b6cba1ad0
metadata: set fDBenv to null if opening fails
Fixes #580

Signed-off-by: falkTX <falktx@falktx.com>
2020-09-13 00:54:36 +01:00
Timo Wischer f3e8a6bc6b metadata: Make JACK_METADATA_* constant
to ensure that it is not modified by any client.

const have internal linkage unless marked by extern

Change-Id: Ife1def2feb43aead32164f479e39ee3fd71b2ba0
Signed-off-by: Adam Miartus <external.Adam.Miartus@de.bosch.com>
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2020-09-13 01:27:36 +02:00
falkTX df0f004183
Mark JACK-Session as deprecated
Signed-off-by: falkTX <falktx@falktx.com>
2020-07-16 12:57:23 +01:00
Davide Beatrici e26f98637e systemdeps.h: define standard integer types correctly for MSVC
Fixes the following errors:

C:\vcpkg\installed\x64-windows-static-md\include\jack/systemdeps.h(73): error C2371: 'int8_t': redefinition; different basic types
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\stdint.h(14): note: see declaration of 'int8_t'
C:\vcpkg\installed\x64-windows-static-md\include\jack/systemdeps.h(77): error C2371: 'int32_t': redefinition; different basic types
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\stdint.h(16): note: see declaration of 'int32_t'
C:\vcpkg\installed\x64-windows-static-md\include\jack/systemdeps.h(78): error C2371: 'uint32_t': redefinition; different basic types
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\stdint.h(20): note: see declaration of 'uint32_t'
2020-06-17 20:31:35 +02:00
falkTX 5f1b2be0dc
Do not skip shared libs on windows if using original regex.h
Signed-off-by: falkTX <falktx@falktx.com>
2020-06-17 18:11:18 +01:00
falkTX 1c039d9e6e
remove switch to shared libs for linking windows binaries
This allows us to use static pthread with regular mingw builds

Signed-off-by: falkTX <falktx@falktx.com>
2020-06-17 00:38:15 +01:00
falkTX f5a6e4dba5
Use "64" suffix in windows 64bit build to match existing installer
Signed-off-by: falkTX <falktx@falktx.com>
2020-06-16 23:48:01 +01:00
falkTX 85634dee9d
Install windows libraries in libdir instead of bindir
Signed-off-by: falkTX <falktx@falktx.com>
2020-06-16 22:26:35 +01:00
falkTX bcdca517ad Make a function return const; More mingw fixes 2020-06-13 23:16:52 +01:00
falkTX 33c5849467 Use proper path to tre/regex; Fixup wscript a bit 2020-06-13 23:16:14 +01:00
falkTX 91e376cac9 Use macos-specific semaphore under macos
posix version can't be used due to missing sem_timedwait from macos side
2020-06-13 20:00:02 +02:00
Timo Wischer df9c990f09 shm: Make registry_id constant
Change-Id: I66e0960c9ab1a097de3098d4f51e0fff4d064186
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
(cherry picked from commit 12f6a01bcb23be1f859990675a20f980dab55ac8)
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2020-06-11 17:54:01 +02:00
Adam Miartus af5cf14689 jack common: ensure null termination of char arrays
Signed-off-by: Adam Miartus <amiartus@de.adit-jv.com>
(cherry picked from commit 733c147c23dc90a8330521c49e5fd76340bcb381)
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>

Change-Id: I63a7330408d75f21e25426e42260133669a0db0e
(cherry picked from commit 41b58edf09236db477bc1d56308a2b6e71515963)
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2020-06-10 22:38:05 +02:00
Timo Wischer 8fc734acb8 shm: Remove not used JackMem class
Change-Id: I88003f8c55184b141ffd4e068eba889776ce9b14
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
(cherry picked from commit 742dc38a0d549338a4296ec39edba580f93d40b7)
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2020-06-10 22:36:24 +02:00
Timo Wischer 2f373c684b port: Make PORT_TYPES_MAX constant
Change-Id: I5f5b4a2d0a52ef12ac4e396f40002e8dec916cfb
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
(cherry picked from commit c438633cccfb327219cd28fbfdecc79fb18cdb3b)
Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>
2020-06-10 22:33:20 +02:00
Luciano Iam cfb85b0143
1.9.14 on MinGW/waf + build guide (#495)
* Add guide for compiling on MinGW using waf

* Update wscripts and guide for MinGW

* Fix README_MINGW typos

* Add instructions for ASIO support

* Update jackd example

* Patch for metadata support on Windows

* Update VS project for building JackRouter

* JackRouter/VS: add int redefinition fix to all build configurations

* VS: ignore Visual Studio build files and user settings

* Revise and extend README_MINGW

* Fix typos in README_MINGW

* Update MinGW build guide

* Replace MAX_PATH with PATH_MAX (win32)

* Include limits.h in JackMetadata.h

Co-authored-by: Schrödinger's Cat <6382400+Schroedingers-Cat@users.noreply.github.com>
2020-05-31 13:29:53 +01:00
falkTX 0081d181e9
Allow to costumize pkg-config dir via --pkgconfigdir
Signed-off-by: falkTX <falktx@falktx.com>
2020-01-29 23:17:00 +00:00
Kjetil Matheussen c30c182feb Fix compilation error caused widechar/singlechar mixup in 52786902d6 2020-01-27 23:00:39 +00:00
Kjetil Matheussen 52786902d6 Windows: Use widechar instead of char when loading drivers. 2020-01-26 15:02:35 +00:00
falkTX 608cfbe74c
Fix freedesktop specification link
Signed-off-by: falkTX <falktx@falktx.com>
2019-12-10 18:44:06 +00:00
falkTX a39d2df15e
Force fix for libdb mixed mode build
Signed-off-by: falkTX <falktx@falktx.com>
2019-12-03 12:31:06 +00:00
falkTX 1b10d4c888
Always use -Wl,--no-undefined (unless macOS)
Signed-off-by: falkTX <falktx@falktx.com>
2019-12-03 12:22:02 +00:00
falkTX 003f2deb4e
Proper fix for mixed mode
Signed-off-by: falkTX <falktx@falktx.com>
2019-11-17 21:18:17 +00:00
falkTX f100fcb620 Small fix on code style 2019-10-28 11:47:39 +01:00
falkTX 93619ed0c5 Make sure we use python3 (another patch from Fedora) 2019-10-28 11:38:21 +01:00
Luciano Iam a5093f06ca Rename PortSetDeviceMetadata to PortSetDefaultMetadata 2019-10-28 11:24:12 +01:00
falkTX f19176657c Fix blocking DBus device reservation, so it plays nice with others 2019-10-28 11:16:09 +01:00
falkTX 401fbe9fa9
Start of 1.9.14 development
Signed-off-by: falkTX <falktx@falktx.com>
2019-10-06 20:26:14 +01:00
falkTX 294d0ffd96
Only trigger property callback on close if there is 1 or more
Also document this usecase

Signed-off-by: falkTX <falktx@falktx.com>
2019-10-06 20:05:41 +01:00
falkTX 77ac455d49
Cleanup whitespace
Signed-off-by: falkTX <falktx@falktx.com>
2019-10-06 19:34:16 +01:00
falkTX 630c303533 Fix build issue triggered by last branch merge 2019-10-06 16:50:13 +01:00
falkTX 8dd23d2d13
Merge branch 'metadata-keys' into develop
Signed-off-by: falkTX <falktx@falktx.com>
2019-10-05 21:53:45 +01:00
falkTX 97d2ad9e4c
Add a few comments to metadata keys, old stuff from Paul Davis
Signed-off-by: falkTX <falktx@falktx.com>
2019-10-05 21:51:49 +01:00
falkTX 9a5dbf26a7 Remove all port properties when unregistering 2019-09-25 03:06:49 +01:00
falkTX c74385603c Cleanup metadata on server close 2019-09-25 03:06:49 +01:00
luz.paz a93b210134 FIx doxygen and user facing and non-facing typos
Found via `codespell -q 3`
2019-09-11 19:17:07 +01:00
falkTX bb416c7801 Rename `PortSetDeviceName` to `PortSetDeviceMetadata` 2019-09-11 19:13:56 +01:00
Luciano Iam c2ec4b37d4 MIDI port pretty names (#498)
* Set MIDI port pretty names on macOS

* Set MIDI port pretty names on Windows

* Set MIDI port pretty names on Linux/alsarawmidi

* Update alsarawmidi port naming to match CoreMIDI and WinMME

* Rename PortSetPrettyNameProperty to PortSetDeviceName

* Set hardware property to MIDI port names
2019-09-11 19:09:59 +01:00
falkTX 77de2e339e Fix loading internal client from another internal client 2019-08-23 11:19:00 +01:00
falkTX 6bacf6e1db
Fix crash on jack_internal_client_load without some options set 2019-08-14 18:25:16 +01:00
falkTX 4828349f3d
Prepare for release
Signed-off-by: falkTX <falktx@falktx.com>
2019-05-28 10:55:51 +02:00
falkTX aefcc52b6e
Fix yet another merge conflict
I was sure I did this already...

Signed-off-by: falkTX <falktx@falktx.com>
2019-05-28 10:43:18 +02:00
falkTX 2cb528b8f8
Fix broken merge (closes #467)
Thanks for noticing

Signed-off-by: falkTX <falktx@falktx.com>
2019-05-28 10:39:43 +02:00
falkTX 8521fbdbe1
Use JACK_UUID_EMPTY_INITIALIZER instead of 0
Signed-off-by: falkTX <falktx@falktx.com>
2019-05-28 10:38:46 +02:00
falkTX 1557c4fddf
Merge branch 'develop' of github.com:jackaudio/jack2 into develop
Signed-off-by: falkTX <falktx@falktx.com>

Conflicts:
	common/JackEngine.cpp
	common/JackEngine.h
2019-05-27 23:37:39 +02:00
Matthias Geier 488081d162 DOC: Update docs for jack_get_properties() 2019-04-26 23:18:17 +02:00
Matthias Geier 28d26bdd10 DOC: Update docs for jack_get_all_properties() 2019-04-26 23:18:17 +02:00
Thomas Brand ad08b2bc06 Whitespace / NO-OP 2019-04-23 18:17:55 +02:00
Thomas Brand c5c1090904 Add check for aften_encode_frame() in wscript
aften v0.0.8 is latest released tarball.
https://downloads.sourceforge.net/aften/aften-0.0.8.tar.bz2
Travis builds for OSX use aften v0.0.8 (brew).

More recent aften code has introduced an additional parameter to aften_encode_frame().

The check in wscript compiles a small test program to see if the additional parameter is understood.
If additional parameter 'count' is available, set HAVE_AFTEN_NEW_API.

HAVE_AFTEN_NEW_API is used in common/JackAC3Encoder.cpp to call aften_encode_frame()
either with or without 'count' param.
2019-04-23 18:00:28 +02:00
Thomas Brand c82101af82 Add missing parameter to aften_encode_frame() call
Problem:
int res = aften_encode_frame(&fAftenContext, fAC3Buffer + SPDIF_HEADER_SIZE, fSampleBuffer);
Fails, because API is
AFTEN_API int aften_encode_frame(AftenContext *s, unsigned char *frame_buffer,const void *samples, int count)

The additional parameter 'count' was added to libaften function aften_encode_frame() here:
e1cbb66628 (diff-d4868af7d235a914aef2ec4f979fcb9fR87)

Solves https://github.com/jackaudio/jack2/issues/455
2019-04-16 14:09:54 +02:00
rncbc f5f7dc7e08 [metadata] Fix property key length to notification/callback requests. 2019-04-08 17:13:34 +01:00
Viktor Wilhelmsson 12cfd0e8b8 Fix memory leak of parameter constraints. 2019-03-26 15:46:20 +01:00
Viktor Wilhelmsson a465c2bd36 Remove GPL dependency from JackTools.
JackTools is a part of the LGPL licenced jacklib and should not pull in
GPL licensed code.
2019-03-26 14:03:19 +01:00
falkTX 5617286860
Merge branch 'master' into develop 2019-03-26 13:26:54 +01:00
Cédric Schieli 8232996921 Correct GPL licence to LGPL for files needed to build libjack (3) 2019-03-26 13:25:35 +01:00
Stephane Letz 56f760d986 Correct GPL licence to LGPL for files needed to build libjack (2). 2019-03-22 13:30:55 +01:00
falkTX cbe17f4210 Merge branch 'master' into develop 2019-03-22 12:33:53 +01:00
Stephane Letz e298b4409d Correct GPL licence to LGPL for header files needed to build libjack. 2019-03-22 12:26:54 +01:00