Commit Graph

2207 Commits

Author SHA1 Message Date
Adrian Knoth 2d1d323505 Merge pull request #142 from jmendeth/patch-2
Correct typos in JackNetTool.cpp
2017-03-12 21:16:07 +01:00
Adrian Knoth 02299d4a81 Merge pull request #141 from jmendeth/patch-1
Account for IP+UDP header in MTU
2017-03-12 21:12:01 +01:00
Adrian Knoth 701f74fa20 Merge pull request #219 from falkTX/master
Use linux futex as JackSynchro
2017-03-12 20:53:13 +01:00
Adrian Knoth 179b976fdd Merge pull request #208 from gazoo74/valgrind
Valgrind
2017-03-12 20:44:17 +01:00
falkTX 112b6bdf39 Use Linux futex as JackSynchro
Includes optimizations for internal clients, but not enabled yet.
2017-03-07 15:16:50 +01:00
Adrian Knoth e0281d82c2 Merge pull request #190 from jackaudio/waf-macosx-fixes
Waf macosx fixes
2017-02-28 11:21:04 +01:00
Andreas Müller 77bb8be12e Add ARM-NEON acceleration for all non-dithering sample conversion functions
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-02-23 16:09:24 +01:00
Edward Betts e749cdf2b6 fix spelling mistake (#254) 2017-02-07 15:28:49 +01:00
Andreas Müller 0279a2d65a fix copy & paste bug on dither rambdom generator (#246)
a leading 1 was missing [1]

[1] http://www.musicdsp.org/showone.php?id=59

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2017-01-14 22:44:40 +01:00
Markus Seeber 64a56049c1 Avoid side effects from parsing of "version" option in jackd (#245)
* detect version option before all other oprion parsing

jackd now checks its arguments for "-V" and "--version" before all other
option parsing happens.

* remove some dead code from option parsing

Version options are detected before optparse runs, the removed code
paths thus became obsolete.

* remove rest of version option from optparse

Detection of the version option is now handled outside of optparse, thus
left over stings and variables are removed.

* switch to string comparison for detection version option

Demanding an exact match for the option strings reflects the original
behavior more closely than a search for substrings.
2017-01-13 17:34:47 +01:00
James Cowgill 39e984c38c Don't pack structures on MIPS where unaligned access is not allowed 2016-10-18 14:40:09 +00:00
Adrian Knoth 691578820b Heap-allocate client matrix in topo sort
If configured with --clients=512 (translates to CLIENT_NUM), we exceed
the maximum stack size. CLIENT_NUM==500 still works, but let's allocate
the matrix on the heap to be safe.

Kudos to Markus Seeber for the initial bug triage.

Fixes #212
2016-06-11 09:16:47 +02:00
Gaël PORTAY fd48059f9b Fix duplicate instruction. 2016-05-19 13:29:21 -04:00
Gaël PORTAY 9e5d1909d1 Fix initialization of members from default constructors. 2016-05-19 13:29:21 -04:00
Gaël PORTAY ddf1b5a184 Fix initialization of string members.
Reported by valgrind using the command below:
$ valgrind jackd -p128 -t2000 -dalsa -dhw:0 -r44100 -p2048 -n2 -S
==8930== Memcheck, a memory error detector
==8930== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==8930== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==8930== Command: jackd -p128 -t2000 -dalsa -dhw:0 -r44100 -p2048 -n2 -S
==8930==
jackdmp 1.9.11
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
creating alsa driver ... hw:0|hw:0|2048|2|44100|0|0|nomon|swmeter|-|16bit
configuring for 44100Hz, period = 2048 frames (46.4 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 2 periods for playback
==8930== Thread 4:
==8930== Syscall param write(buf) points to uninitialised byte(s)
==8930==    at 0x571388D: ??? (syscall-template.S:81)
==8930==    by 0x4EA70B3: Jack::JackClientSocket::Write(void*, int) (JackSocket.cpp:233)
==8930==    by 0x4E94C62: Jack::JackClientCheckResult::Write(Jack::detail::JackChannelTransactionInterface*) (JackRequest.h:227)
==8930==    by 0x4ECDF3A: Jack::JackRequestDecoder::HandleRequest(Jack::detail::JackChannelTransactionInterface*, int) (JackRequestDecoder.cpp:58)
==8930==    by 0x4ED4219: Jack::JackSocketServerChannel::Execute() (JackSocketServerChannel.cpp:247)
==8930==    by 0x4EA4B63: Jack::JackPosixThread::ThreadHandler(void*) (JackPosixThread.cpp:59)
==8930==    by 0x59F5181: start_thread (pthread_create.c:312)
==8930==    by 0x572247C: clone (clone.S:111)
==8930==  Address 0x41da85e is on thread 4's stack
==8930==  in frame #3, created by Jack::JackRequestDecoder::HandleRequest(Jack::detail::JackChannelTransactionInterface*, int) (JackRequestDecoder.cpp:46)
==8930==
==8930== Syscall param write(buf) points to uninitialised byte(s)
==8930==    at 0x571388D: ??? (syscall-template.S:81)
==8930==    by 0x4EA70B3: Jack::JackClientSocket::Write(void*, int) (JackSocket.cpp:233)
==8930==    by 0x4ED619B: Jack::JackClientNotification::Write(Jack::detail::JackChannelTransactionInterface*) (JackRequest.h:1606)
==8930==    by 0x4ED5F2E: Jack::JackSocketNotifyChannel::ClientNotify(int, char const*, int, int, char const*, int, int, int*) (JackSocketNotifyChannel.cpp:56)
==8930==    by 0x4EB51DF: Jack::JackExternalClient::ClientNotify(int, char const*, int, int, char const*, int, int) (JackExternalClient.cpp:40)
==8930==    by 0x4EAFA9A: Jack::JackEngine::ClientNotify(Jack::JackClientInterface*, int, char const*, int, int, char const*, int, int) (JackEngine.cpp:274)
==8930==    by 0x4EAFD34: Jack::JackEngine::NotifyAddClient(Jack::JackClientInterface*, char const*, int) (JackEngine.cpp:318)
==8930==    by 0x4EB0C99: Jack::JackEngine::ClientExternalOpen(char const*, int, int, int*, int*, int*, int*) (JackEngine.cpp:636)
==8930==    by 0x4ED4486: Jack::JackLockedEngine::ClientExternalOpen(char const*, int, int, int*, int*, int*, int*) (JackLockedEngine.h:123)
==8930==    by 0x4ED3AD5: Jack::JackSocketServerChannel::ClientAdd(Jack::detail::JackChannelTransactionInterface*, Jack::JackClientOpenRequest*, Jack::JackClientOpenResult*) (JackSocketServerChannel.cpp:132)
==8930==    by 0x4ECE0B8: Jack::JackRequestDecoder::HandleRequest(Jack::detail::JackChannelTransactionInterface*, int) (JackRequestDecoder.cpp:73)
==8930==    by 0x4ECDFBA: Jack::JackRequestDecoder::HandleRequest(Jack::detail::JackChannelTransactionInterface*, int) (JackRequestDecoder.cpp:63)
==8930==  Address 0x41d9ccb is on thread 4's stack
==8930==  in frame #3, created by Jack::JackSocketNotifyChannel::ClientNotify(int, char const*, int, int, char const*, int, int, int*) (JackSocketNotifyChannel.cpp:51)
==8930==
==8930== Syscall param write(buf) points to uninitialised byte(s)
==8930==    at 0x571388D: ??? (syscall-template.S:81)
==8930==    by 0x4EA70B3: Jack::JackClientSocket::Write(void*, int) (JackSocket.cpp:233)
==8930==    by 0x4ED633C: Jack::JackClientNotification::Write(Jack::detail::JackChannelTransactionInterface*) (JackRequest.h:1612)
==8930==    by 0x4ED5F2E: Jack::JackSocketNotifyChannel::ClientNotify(int, char const*, int, int, char const*, int, int, int*) (JackSocketNotifyChannel.cpp:56)
==8930==    by 0x4EB51DF: Jack::JackExternalClient::ClientNotify(int, char const*, int, int, char const*, int, int) (JackExternalClient.cpp:40)
==8930==    by 0x4EAFA9A: Jack::JackEngine::ClientNotify(Jack::JackClientInterface*, int, char const*, int, int, char const*, int, int) (JackEngine.cpp:274)
==8930==    by 0x4EAFD34: Jack::JackEngine::NotifyAddClient(Jack::JackClientInterface*, char const*, int) (JackEngine.cpp:318)
==8930==    by 0x4EB0C99: Jack::JackEngine::ClientExternalOpen(char const*, int, int, int*, int*, int*, int*) (JackEngine.cpp:636)
==8930==    by 0x4ED4486: Jack::JackLockedEngine::ClientExternalOpen(char const*, int, int, int*, int*, int*, int*) (JackLockedEngine.h:123)
==8930==    by 0x4ED3AD5: Jack::JackSocketServerChannel::ClientAdd(Jack::detail::JackChannelTransactionInterface*, Jack::JackClientOpenRequest*, Jack::JackClientOpenResult*) (JackSocketServerChannel.cpp:132)
==8930==    by 0x4ECE0B8: Jack::JackRequestDecoder::HandleRequest(Jack::detail::JackChannelTransactionInterface*, int) (JackRequestDecoder.cpp:73)
==8930==    by 0x4ECDFBA: Jack::JackRequestDecoder::HandleRequest(Jack::detail::JackChannelTransactionInterface*, int) (JackRequestDecoder.cpp:63)
==8930==  Address 0x41d9d1d is on thread 4's stack
==8930==  in frame #3, created by Jack::JackSocketNotifyChannel::ClientNotify(int, char const*, int, int, char const*, int, int, int*) (JackSocketNotifyChannel.cpp:51)
==8930==
2016-05-19 13:29:21 -04:00
Gaël PORTAY a91969e12d Fix uninitialized fEndDateUst.
Reported by valgrind using the command below:
$ valgrind jackd -p128 -t2000 -dalsa -dhw:0 -r44100 -p2048 -n2 -S
==17496== Memcheck, a memory error detector
==17496== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==17496== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==17496== Command: jackd -p128 -t2000 -dalsa -dhw:0 -r44100 -p2048 -n2 -S
==17496==
jackdmp 1.9.11
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
creating alsa driver ... hw:0|hw:0|2048|2|44100|0|0|nomon|swmeter|-|16bit
configuring for 44100Hz, period = 2048 frames (46.4 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 2 periods for playback
==17496== Thread 3:
==17496== Conditional jump or move depends on uninitialised value(s)
==17496==    at 0x4E91CC9: Jack::JackEngineControl::CalcCPULoad(Jack::JackClientInterface**, Jack::JackGraphManager*, unsigned long, unsigned long) (JackEngineControl.cpp:58)
==17496==    by 0x4EB3256: Jack::JackEngineControl::CycleBegin(Jack::JackClientInterface**, Jack::JackGraphManager*, unsigned long, unsigned long) (JackEngineControl.h:153)
==17496==    by 0x4EAF54A: Jack::JackEngine::Process(unsigned long, unsigned long) (JackEngine.cpp:166)
==17496==    by 0x4EA922E: Jack::JackLockedEngine::Process(unsigned long, unsigned long) (JackLockedEngine.h:261)
==17496==    by 0x4EA8819: Jack::JackAudioDriver::ProcessGraphAsyncMaster() (JackAudioDriver.cpp:250)
==17496==    by 0x4EA87D0: Jack::JackAudioDriver::ProcessGraphAsync() (JackAudioDriver.cpp:236)
==17496==    by 0x4EA8795: Jack::JackAudioDriver::ProcessAsync() (JackAudioDriver.cpp:225)
==17496==    by 0x4EA870E: Jack::JackAudioDriver::Process() (JackAudioDriver.cpp:202)
==17496==    by 0x4EBA5DA: Jack::JackThreadedDriver::Process() (JackThreadedDriver.cpp:71)
==17496==    by 0x4EBAC52: Jack::JackThreadedDriver::Execute() (JackThreadedDriver.cpp:244)
==17496==    by 0x4EA4B63: Jack::JackPosixThread::ThreadHandler(void*) (JackPosixThread.cpp:61)
==17496==    by 0x59F5181: start_thread (pthread_create.c:312)
==17496==
^CJack main caught signal 2
==17496==
==17496== HEAP SUMMARY:
==17496==     in use at exit: 95,475 bytes in 1,441 blocks
==17496==   total heap usage: 2,793 allocs, 1,352 frees, 7,217,645 bytes allocated
==17496==
==17496== LEAK SUMMARY:
==17496==    definitely lost: 1,458 bytes in 10 blocks
==17496==    indirectly lost: 7,680 bytes in 4 blocks
==17496==      possibly lost: 42,998 bytes in 1,314 blocks
==17496==    still reachable: 43,339 bytes in 113 blocks
==17496==         suppressed: 0 bytes in 0 blocks
==17496== Rerun with --leak-check=full to see details of leaked memory
==17496==
==17496== For counts of detected and suppressed errors, rerun with: -v
==17496== Use --track-origins=yes to see where uninitialised values come from
==17496== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
2016-05-19 13:29:21 -04:00
Karl Linden 4e8e7ecdc2
Use conf.check instead of conf.check_cc. 2016-05-17 07:33:58 +02:00
Karl Linden cf48eedf95
Merge branch 'master' into waf-macosx-fixes.
Move aften check to resolve conflict.
2016-03-31 19:40:12 +02:00
Karl Linden 3dbd4b92fe
Simplify build system logic. Fixes #168. 2016-03-31 19:32:01 +02:00
Stephane Letz 693451c361 Brad Harper patch for aarch64 - packed structure workaround. 2016-03-30 09:53:08 +02:00
Stephane Letz bde8d3d4e6 Revert "Bump Netjack protocol version"
This reverts commit b4e7e875a7.
2016-03-18 18:00:16 +01:00
Stephane Letz 2fa0a35036 Restore working version for _session_params. 2016-03-18 14:47:37 +01:00
Stephane Letz 6fb2dfc080 Update copyright date. 2016-03-18 11:04:56 +01:00
Xavier Mendez b4e7e875a7 Bump Netjack protocol version 2016-03-11 18:04:46 +01:00
Xavier Mendez cfcafb25a3 Fix Netjack alignment
See discussion at http://comments.gmane.org/gmane.comp.audio.jackit/29516
2016-03-11 18:04:36 +01:00
Karl Linden fc1499d833
Merge branch 'master' into waf-macosx-fixes 2016-02-25 18:48:32 +01:00
falkTX 8c50f67f3c Use ARM neon intrinsics for AudioBufferMixdown 2016-02-25 00:11:09 +01:00
Karl Linden c4f01e5140
Merge branch 'master' into waf-macosx-fixes 2016-02-20 19:34:18 +01:00
Stephane Letz 51f923882e Correct JackDriver::Open : call to fGraphManager->SetBufferSize has to use current fEngineControl->fBufferSize value. 2016-02-11 11:58:01 +01:00
Stephane Letz 02f74a659a String management fix. 2016-01-01 20:40:22 +01:00
ethe 7cb81394ec Fixed building AudioAdapter on OSX 2015-12-19 14:42:42 +00:00
Josh de Kock (ethe) bc66447e37 fixed frameworks in wscripts 2015-12-19 14:42:42 +00:00
ethe 8ed3e8228f Fixed linking errors with frameworks for OSX 2015-12-15 19:57:56 +00:00
Karl Linden af99165ef6
Drop problematic CPPFLAGS for MacOSX. 2015-12-13 20:50:59 +01:00
Andrew Kelley bc1a832e71 fix missing void parameter in prototypes 2015-11-09 21:55:03 -07:00
falkTX 55b54d6455 Missing return in jack_port_rename 2015-10-22 10:27:38 +02:00
Stéphane Letz 38f946f5e8 Typos in JackWeakAPI.c. 2015-10-08 16:00:06 +02:00
Stephane Letz eb5545eee5 Log code in JackWeakAPI.c. 2015-10-08 14:20:30 +02:00
Stephane Letz af94a45d2b Correct VERSION. 2015-10-08 10:49:20 +02:00
Stephane Letz 600bebe38d Missing include, correct log message. 2015-10-05 21:21:49 +02:00
Xavier Mendez d239893d5f Correct typos in JackNetTool.cpp 2015-09-10 22:59:52 +02:00
Xavier Mendez 821dfa0653 Account for IP+UDP header in MTU 2015-09-06 10:08:27 +02:00
Stephane Letz 2e8c5502c6 Merge remote-tracking branch 'upstream/master' 2015-09-03 10:52:48 +02:00
Stephane Letz 008872fc16 Possible fix in JackPosixSemaphore::ConnectInput, cleanup. 2015-09-03 10:52:11 +02:00
Adrian Knoth 460063d8dc Fix bus error on PPC and PowerPC
Forwarded from
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=728710>
2015-08-25 17:32:55 +02:00
Stéphane Letz 1ed50c928f Merge pull request #134 from kmatheussen/master
Use _WIN32 instead of WIN32 in header files since WIN32 might not alw…
2015-07-19 19:48:10 +02:00
falkTX 05216197b4 Make JackPortRenameCallback return void, to match JACK1 API
JACK2 added this function first, but the int return has been always wrong.
When JACK1 added JackPortRenameCallback it used the proper return.

Now that JACK1 supports port renames, devs will start to use it.
(previously it didn't work properly because of the missing jack_client_t* arg)

Some code might be broken because of this, but it's a very simple change,
and existing code would have been broken when changing JACK1 to JACK2.

Finally, JACK2 code never uses the int return value of this callback.
So there's no real reason to NOT change this.
2015-07-19 18:49:06 +02:00
falkTX fc6344e5f2 Implement new jack_port_rename API 2015-07-19 18:44:34 +02:00
Kjetil Matheussen 49f06118a1 Use _WIN32 instead of WIN32 in header files since WIN32 might not always be defined
For instance, if compiling with gcc and the option --stc=c++11, WIN32 is not defined.
See http://webcache.googleusercontent.com/search?q=cache:amvfgAUCdsgJ:sourceforge.net/p/mingw-w64/mailman/message/31850993/+&cd=4&hl=en&ct=clnk&gl=no
http://sourceforge.net/p/mingw-w64/mailman/message/31850993/
2015-07-19 10:01:53 +02:00
Xavier Mendez 2cece7e29b Correct netmanager latency reporting 2015-07-17 13:46:52 +02:00
Maks Naumov a4b59f6620 Fix buf nullptr dereferencing in jack_midi_event_write() 2015-06-26 13:36:36 +03:00
Julien Acroute 9c85871d8a Fix return value of SetTimebaseCallback()
return value of JackGenericClientChannel->SetTimebaseCallback() instead
of -1 where there is a conditional request
2015-06-02 11:04:27 +02:00
Karl Lindén 1715d63cd8 drop unused Build imports 2015-05-02 12:42:32 +02:00
Stephane Letz 40341d16fb Correct NetJack2 time out handling. 2015-04-29 14:46:44 +02:00
Cédric Schieli 8f6c3c6d1f Add JackProxyDriver
This driver is very similar to the JackNetDriver, but instead of connecting
through the network, it connects to its upstream server through standard jack
API. So it can only reach local servers which must be running as the same user
or in promiscuous mode.

The main use case is the multi-user, multi-session, shared workstation:

 - a classic server with hw driver is launched system-wide at boot time, in
   promiscuous mode, optionaly restricted to the audio group
 - in each user session, a jackdbus server is automatically started with
   JackProxyDriver as master driver, automatically connected to the
   system-wide one
 - optionaly, each user run PulseAudio with a pulse-jack bridge
2015-04-27 12:19:27 +02:00
Cédric Schieli 1cd25cb975 Add JackWaitCallbackDriver
This wrapper driver has the same usage as its parent JackWaitThreadedDriver,
but for non-threaded (callback) drivers. After waiting for Initialize to
return, its main thread simply ends instead of calling the driver's Process
method in a loop. The decorated driver, which must extends JackRestarerDriver
instead of JackWaiterDriver, can restart the wait cycle by calling its
RestartWait method.
2015-04-27 12:19:27 +02:00
Cédric Schieli c1ae33f934 Split JackWaitThreadedDriver's Execute method
This makes it possible to use JackWaitThreadedDriver as a base class
for a non-threaded version.
2015-04-27 12:19:27 +02:00
Stephane Letz 2963e0bfb4 Add 'assert' for more robust code. 2015-04-21 11:57:40 +02:00
Stephane Letz edce250039 Correct NetFloatAudioBuffer::NetFloatAudioBuffer. 2015-04-21 11:47:07 +02:00
Stephane Letz 9d0acd402f Correct NetJack2 API. 2015-04-20 11:15:56 +02:00
Adrian Knoth dea38860a8 Use cstdlib instead of stdlib.h
No biggie, but since this is C++, let's use the C++ includes.
2015-04-15 22:05:41 +02:00
Adrian Knoth 3c05a0b36e Merge commit 'a450cdcc4874028a52a82207c38b39ecb1ee1d64'
Partial merge from pr/77

Setting the JACK_NO_AUDIO_RESERVATION environment variable let one skip
the audio reservation bits.
2015-04-15 22:01:45 +02:00
Stephane Letz d0679708c9 Correct priority management for Windows. 2015-04-13 12:08:48 +02:00
Karl Lindén 94efc64f20 use conf.env['SAMPLERATE'] to determine wether samplerate is available instead of conf.is_defined('HAVE_SAMPLERATE') 2015-04-10 16:28:05 +02:00
Karl Lindén ad24b255be move check for samplerate.h to before conf.sub_config('common') and remove the duplicate check in common 2015-04-10 16:21:55 +02:00
Stephane Letz 70c920ba69 Correct CoreAudio devices aggregation code. 2015-03-30 11:56:47 +02:00
Youri Westerman 0b6616369a Preserving original status 2015-02-20 16:35:12 +01:00
Stephane Letz 81c129c1dd Alexandru Costache patch for memory allocation failure. 2015-01-07 16:56:46 +01:00
Markus Seeber 275357080c fix warning for unsigned/signed pointer target
- use unsigned int instead of int (socklen_t is supposed to be unsigned)
- converted inconsistent line Ending to UNIX line ending
2014-12-18 18:54:21 +01:00
Markus Seeber f67f7b0fdb Add curly brackets 2014-12-05 16:19:06 +01:00
Markus Seeber 1f1478c263 better error messages
- separated two causes of an error
- gave the win32 "lost signal" case a more descriptive message
2014-11-30 18:55:39 +01:00
Markus Seeber a66fe88a34 fix warning about unused label on non win32 build
- moved platform dependend code into scope its respective #ifdef
- killed one useless 'goto' with great pleasure
- introduced duplicate code to preserve behavior (fallthrough case)
2014-11-30 18:33:59 +01:00
Stephane Letz 2cd233537a Improve documentation. 2014-11-20 16:27:11 +01:00
Cédric Schieli a450cdcc48 Allow skipping of audio reservation API
Setting the JACK_NO_AUDIO_RESERVATION environment variable let one skip the
audio reservation bits.
The main use case is a system-wide jackd promiscuous instance launched at boot
time. In such a case no session bus is available, and reservation doesn't
really makes sense anyway.
2014-11-01 11:53:45 +01:00
Stephane Letz 9159e9f85f Merge remote-tracking branch 'upstream/master' 2014-10-05 14:48:05 +02:00
Stephane Letz 3260d467e0 Robin Gareus patch for Windows JackRouter. 2014-10-05 14:46:52 +02:00
Adrian Knoth d3c8e2d8d7 Fix FTBFS with clang++
Forwarded from http://bugs.debian.org/757820
2014-09-18 18:29:23 +02:00
Stephane Letz a9a2ad16e1 Improve net.h documentation(2). 2014-09-17 12:23:06 +03:00
Stephane Letz 7e9ef34f79 Improve net.h documentation. 2014-09-17 12:09:54 +03:00
Stephane Letz 54ada6e545 Correct NetJack2 SyncSend. 2014-08-29 13:13:45 +02:00
Stephane Letz 450745678c Correct NetJack2 init code. 2014-08-28 16:39:19 +02:00
Stephane Letz ce825c6a6b Version 1.9.11 started. 2014-07-20 15:58:51 +02:00
Igevorse 4e8101ebc7 jack_transport_reposition linkage fix 2014-07-06 18:08:17 +05:00
Stephane Letz e24717e3ed README updated. 2014-07-03 14:49:01 +02:00
KimJeongYeon 695bbaeb57 up-to-date jack2_android from OSRC(SM-G9008W_CHN). 2014-06-19 22:45:22 +09:00
falkTX 5fb7e2a191 Fix jack_port_uuid 2014-06-08 14:50:13 +01:00
Stephane Letz dd97d19124 Fix for KillServer. 2014-06-06 11:10:56 +02:00
Valentin David 967e913896 Fix sample_move_d24_sS when using SSE4.1 2014-06-03 00:57:54 +02:00
Stephane Letz 314e5f7d09 Pawel patch for MidiBufferMixdown. 2014-05-12 08:16:04 +02:00
falkTX f7543f05db Missing jack_port_uuid. stub/empty implementation complete 2014-05-08 17:46:58 +01:00
falkTX e49378dcb8 Fix last commit 2014-05-08 17:40:13 +01:00
falkTX 986d306275 Fix meta keys visibility 2014-05-08 17:35:12 +01:00
falkTX 619f1ebdb0 Missing constant define 2014-05-08 17:21:48 +01:00
falkTX f1f40a0dc9 stub/empty implementation of metadata 2014-05-08 17:08:52 +01:00
falkTX b214e1427f Add uuid.h file 2014-05-08 16:38:06 +01:00
falkTX 84431c3748 Add jack_uuid_t type 2014-05-08 16:37:56 +01:00
falkTX d0932a8f21 main header changes needed for uuid 2014-05-08 16:37:08 +01:00
falkTX 3cdf7071a5 Add metadata.h file 2014-05-08 16:19:52 +01:00
Stephane Letz ae81d3cb41 Cleanup. 2014-04-29 10:38:54 +02:00
Stephane Letz f90f76fb65 Correct jack_get_descriptor. 2014-04-28 11:45:39 +02:00
Stephane Letz ab409a65df Correct CreateAggregateDevice and libjacknet packet latency management. 2014-04-18 13:29:50 +02:00
Adrian Knoth 6ac255e077 Drop JACK_TIMER_CYCLE_COUNTER altogether 2014-03-14 19:19:00 +01:00
Adrian Knoth 2b829044df Drop (c)ycle) from the list of allowed clock sources. 2014-03-14 19:19:00 +01:00
Adrian Knoth c52f751b73 Make -c c an alias for -c s
The cycle counting clock is no longer supported. For backwards
compatibility with scripts, allow the user to request the cycle clock on
the command line, but use the system clock instead.

Cross-ported from jackd1.
2014-03-14 19:19:00 +01:00
Nedko Arnaudov ca69e2936f jackd: describe the -a option in the help text 2014-03-10 22:01:13 +02:00
Nedko Arnaudov c9eed86280 report self-connect-mode on server start 2014-03-10 22:01:13 +02:00
Nedko Arnaudov 00f468fa29 use descriptors for initializing enum constraints
Descriptor initialization reduces risk of mismatch between array size
and element initialization. It also improves code readability by
separating the parameter descriptions separate from the code that
composes the enum constraint structures.

As a side effect this commit makes the self-connect-mode constraint
allocated in dedicated memory chunks, like others enum constraints.
2014-03-10 22:01:13 +02:00
Nedko Arnaudov c8cac65cad remove the JackSelfConnectMode enum type
It was introduced before the parameter was actually exposed.
The parameter is exposed through a char type in both jackd and
jackdbus, thus a mappnig was required.

This changeset removes the enum and makes the code simpler
at the expense of not allowing arbitrary chars as values.
As it is exposed and used in sessions, it is not arbitrary anyway.
2014-03-10 22:01:13 +02:00
Nedko Arnaudov e36662e243 fix allocation of rt priority constraint struct
The bug was present in the inital version of the code,
commit 606609f9b5

There was no memory corruption because while
jack_driver_param_value_enum_t is smaller by 72 bytes than
jack_driver_param_constraint_desc_t, for ranges of non-string values,
the last 124 bytes are not used.
2014-03-10 22:01:13 +02:00
Nedko Arnaudov a961c5f1fe Change JACK_DEFAULT_SELF_CONNECT_MODE to "allow"
The constant was introduced when the mode parameter of the JackEngine
constructor was added in aab13501f4.
Then in 6253344da6 the parameter
was exposed through the control api, but with different default
value.

This commit changes the value to match the default of the control api
parameter.
2014-03-10 22:01:13 +02:00
Stephane Letz 75a43e5f2e Improve error reporting in NetJack2. 2014-03-09 20:32:45 +01:00
Stephane Letz 905f6d7a60 Fix a bug in OPUS code in NetJack2. 2014-03-09 11:00:52 +01:00
Stephane Letz c0f3d47280 More debug code in NetJack2. 2014-03-08 23:09:59 +01:00
Stephane Letz 7966bfc896 Correct JackNetExtMaster::Read. 2014-03-06 23:26:47 +01:00
Stephane Letz b360ad0650 Make JackNetInterface::FinishRecv more robust. 2014-02-25 12:40:36 +01:00
Stephane Letz 274752d275 Correct XCode project. 2014-02-24 17:04:20 +01:00
Stéphane Letz 5eaeab814a Swich to OPUS on OSX in progress. 2014-02-14 16:27:26 +01:00
Adrian Knoth 820c5bfde4 Revert "systemdeps.h added a new defined case __ARM__ to clear the POST_PACKED_STRUCTURE for ARM compilation."
This reverts commit 23f5919c62.
2014-02-14 14:32:56 +01:00
Matt Flax 3ca50ed309 Merge branch 'master' of git://github.com/jackaudio/jack2 2014-02-14 10:27:28 +11:00
Matt Flax 23f5919c62 systemdeps.h added a new defined case __ARM__ to clear the POST_PACKED_STRUCTURE for ARM compilation.
Downgraded eigen3 and sox version requirements for building iio.
Switched to using IIOMMap to access the IIO subsystem.
Added the overloaded methods for JackIIODriver::Attach, JackIIODriver::Detach, JackIIODriver::Read and JackIIODriver::Write.
Rewrite the JackIIODriver.C code to work properly.
2014-02-12 17:40:04 +11:00
Stephane Letz d0d208df60 Typos. 2014-02-07 16:21:36 +01:00
Stephane Letz e70dfc1d38 Merge branch 'master' of github.com:sletz/jack2 2014-02-07 16:17:36 +01:00
Stéphane Letz a3c043ce59 Merge pull request #53 from KimJeongYeon/master
additional code cleanup for jack android
2014-02-07 16:12:21 +01:00
KimJeongYeon 1f73394531 additional code cleanup for jack android 2014-02-07 23:52:58 +09:00
Stéphane Letz 63936eea22 More libjacknet API more robust. 2014-02-07 12:09:06 +01:00
Stephane Letz a13b1f411f Cleanup. 2014-02-06 10:26:42 +01:00
KimJeongYeon 4a94e12986 jack2 supports android devices & rebase current changes to master 2014-02-05 00:38:12 +09:00
Stephane Letz 0742159cfa Merge remote-tracking branch 'upstream/master' 2014-02-02 01:04:59 +01:00
Stephane Letz 0b105934b7 Cleanup. 2014-02-02 01:04:57 +01:00
farwayer 8dbb1b46e4 Fix typo in NetTools 2014-02-01 23:55:08 +03:00
Stephane Letz cac6edfc65 Cleanup. 2014-01-28 17:31:22 +01:00
Stephane Letz 907970178e Improve partial cycle support in NetJack2. 2014-01-28 17:28:51 +01:00
Martin Koegler b0d25b67e7 Detect tre as regexp library replacement 2014-01-25 16:40:20 +00:00
Stephane Letz 02c0e5d544 Add new jack_midi_reset_buffer API. 2014-01-25 00:30:26 +01:00
Stephane Letz 6bc958ef4a Correct NetIntAudioBuffer. 2014-01-23 20:44:42 +01:00
Stephane Letz c2e0ca73c2 Renaming. 2014-01-23 16:04:19 +01:00
Stephane Letz d23f06f6b1 Cleanup. 2014-01-22 21:48:41 +01:00
Stephane Letz 66b4bfd8bb Support for partial buffers in libjacknet. 2014-01-22 16:10:16 +01:00
Stephane Letz 7123ef1562 Correct JackCoreMidiDriver. 2013-12-13 21:13:56 +01:00
Stephane Letz ce122e683a Correct JackNetExtMaster::Read. 2013-12-10 15:47:00 +01:00
Stephane Letz f93633a226 Cleanup NetJack2 code. 2013-12-10 15:39:48 +01:00
Stephane Letz f116ca5517 New JackNetExt class to factorize some code in NetJack2. 2013-12-10 14:51:31 +01:00
Stephane Letz a61302992d Typos. 2013-12-06 21:33:35 +01:00
Stephane Letz dbf9b71580 Distinguish SYNC_PACKET_ERROR and DATA_PACKET_ERROR in NetJack2. 2013-12-06 08:36:49 +01:00
Stephane Letz ddf306b8dc Add error code in net.h. 2013-12-05 16:36:26 +01:00
Stephane Letz d8c2b0bfaf Configurable fPacketTimeOut field in NetJack2 code. 2013-12-05 14:16:20 +01:00
Stephane Letz bdec35808b Improve documentation for jack_set_net_slave_shutdown_callback. 2013-12-04 15:25:12 +01:00
Stephane Letz a90abbf70f Merge remote-tracking branch 'upstream/master' 2013-12-04 15:09:54 +01:00
Stephane Letz ae2382088c Add jack_net_slave_is_active API in libjacknet. 2013-12-04 15:08:54 +01:00
Stephane Letz 3e84fdc998 Correct JackNetExtMaster::FreePorts. 2013-12-03 11:40:20 +01:00
Nedko Arnaudov da390836bf wscript: fix build in 32/64 bits mixed mode. github close #39 2013-11-14 04:27:11 +02:00
Stephane Letz d2be14ddf6 Accpetable fix for long standing Freewheel mode bug. 2013-11-06 19:40:59 +01:00
Stephane Letz 3797644104 Cleanup, documentation. 2013-10-22 15:46:16 +02:00
Stephane Letz 4f161f35da Cleanup. 2013-10-16 15:44:33 +02:00
Stephane Letz f60fde8a2d Cleanup backend class structure. 2013-10-16 13:30:33 +02:00
Stephane Letz f4a158afbc Add time-out in libjacknet netmaster side. 2013-10-09 14:34:55 +02:00
Stephane Letz 695c9d784c Fix in netjack_init. 2013-09-05 00:19:35 +02:00
Stephane Letz d40b2ad548 Pawel : small fix for JackSession. 2013-08-07 21:52:26 +02:00
Stephane Letz 6dc8d3c5a2 Tim Mayberry : Add support for building with mingw compiler. 2013-07-23 14:22:00 +02:00
Stephane Letz 851413589a Reinstate mlock parameters (for compatibility purpose). 2013-07-18 07:40:57 +02:00
Stephane Letz c70f01d51c New restart callback in net API. 2013-07-11 12:05:27 +02:00
Stephane Letz 0c8bb599cb Correct JackNetSlaveInterface::InitConnection. 2013-07-09 17:19:46 +02:00
Stephane Letz dc22edecc9 std::exception used by reference. 2013-07-04 07:52:07 +02:00
Stephane Letz 7de15e7a53 Correct netjack2 latency code. 2013-06-03 21:02:28 +02:00
Stephane Letz 26f384bf9f Raise NETWORK_PROTOCOL for netjack2. 2013-05-28 17:15:51 +02:00
Stephane Letz b75b629c70 Use engine lock in JackCoreMidiDriver::Restart. 2013-05-16 14:16:33 +02:00
Stephane Letz 8e2d47835e Correct error messages. 2013-05-15 20:28:01 +02:00
Stephane Letz 5936f2fbeb Define NETWORK_PROTOCOL. 2013-05-15 19:37:16 +02:00
Stephane Letz 12b20854be Add NET_SYNCHING flag. 2013-05-13 12:24:55 +02:00
Stephane Letz e4de2d61da Autosave mode in netjack2 netmanager. 2013-05-13 09:33:50 +02:00
Stephane Letz 2c116851ad Finally remove NETWORK_RESYNCH_LATENCY, raise NETWORK_MAX_LATENCY. 2013-05-12 23:24:58 +02:00
Stephane Letz e0135c87cc Add NETWORK_RESYNCH_LATENCY parameter to resynch in netjack2. 2013-05-12 22:16:06 +02:00
Stephane Letz f7d0f8ee49 InSynched not really needed in NetJack2. 2013-05-10 13:38:25 +02:00
Stephane Letz 0faa77441b Correct JackNetDriver::SaveConnections. 2013-05-10 09:41:23 +02:00
Stephane Letz eacbd3e181 JackServer::SwitchMaster now correctly notify buffer_size and sample_rate changes, cleanup/improvements in JackNetDriver. 2013-05-09 16:06:29 +02:00
Stephane Letz 4bb237685c JackNetDriver now correctly get master in/out when restarted. 2013-05-09 13:57:49 +02:00
Stephane Letz 3959a27499 Cleanup RT setup code in JackClient. 2013-05-09 13:24:37 +02:00
Stephane Letz 0fc84b9c48 Fix in JackServer::SetFreewheel. 2013-05-07 22:41:24 +02:00
Stephane Letz 4c62b949d3 Correct JackDriver::SaveConnections. 2013-04-24 17:03:47 +02:00
Stephane Letz 4eee901c8c Correct JackNetInterface::AudioBufferFactory. 2013-04-24 12:37:14 +02:00
Stephane Letz 457b2b7583 Cleanup Netjack2 code. 2013-04-23 20:53:24 +02:00
Stephane Letz 2d7d1ecdb6 Use JACK_DEFAULT_SERVER_NAME constant. 2013-04-22 23:03:51 +02:00
Stephane Letz a4e319b753 Correctly pass code parameter in InfoShutdown callback. 2013-04-22 19:09:23 +02:00
Stephane Letz 1fe6799803 Correct JackServer::AddSlave. 2013-04-18 17:41:18 +02:00
Stephane Letz 5d06b94ef7 Use port type information in JackDriver::SaveConnections and JackDriver::RestoreConnections. 2013-04-18 15:44:21 +02:00
Stephane Letz dcb782e682 Port naming fix in CoreMidiDriver. 2013-04-18 13:01:47 +02:00
Stephane Letz 450d884710 Netjack2 code fixes. 2013-04-17 15:22:29 +02:00
Stephane Letz af438d2513 Improve documentation of jack_on_shutdown and jack_on_info_shutdown. 2013-04-16 22:52:52 +02:00
Stephane Letz 8d8fa12505 Improve JackDriver SaveConnections and RestoreConnections(2). 2013-04-16 11:21:14 +02:00
Stephane Letz 2e12829a04 Improve JackDriver SaveConnections and RestoreConnections. 2013-04-16 10:49:39 +02:00
Nedko Arnaudov 0ffb8337d8 Fix compile error 2013-04-07 02:33:31 +03:00
Adrian Knoth f1a5a7dc43 Merge no-self-connect branch
Conflicts:
	common/JackEngine.cpp
	common/JackServer.cpp
2013-04-06 22:19:44 +02:00
Stephane Letz 78d79d96b1 Correct FW and thread RT Drop/Acquire. 2013-04-06 13:30:26 +02:00
Stephane Letz 2023aae7b7 Cleanup. 2013-03-25 16:36:17 +01:00
Stephane Letz 8c369f2b55 Cleanup netjack2 code. 2013-03-25 16:34:46 +01:00
Stephane Letz e7239f0925 Cleanup netjack2 code (in progress). 2013-03-25 15:13:27 +01:00
Stephane Letz 83baac750d Open one virtual in/out in CoreMidi driver, fix a state refresh issue. 2013-03-24 13:21:16 +01:00
Stephane Letz 2731c1e850 Correct long standing bug in SyncRecv. 2013-03-18 17:10:09 +01:00
Stephane Letz af2d63961d Correct auto-connect for audioadapter. 2013-03-16 13:21:43 +01:00
Stephane Letz 1ad17b48ec Rework latency settings in netjack. 2013-03-04 19:25:01 +01:00
Stephane Letz 01d182a314 Add JackNetMaster::LatencyCallback. 2013-03-04 16:19:20 +01:00
Stephane Letz f0b3dfa61a More robust JackServer::Stop(). 2013-02-28 15:07:51 +01:00
Stephane Letz 756027b040 Constant naming cleanup. 2013-02-27 10:09:22 +01:00
Stephane Letz 9431a5d214 Lorenz Minder patch for jackd man, cleanup. 2013-02-11 09:23:04 +01:00
Stephane Letz 7ec46dbb46 Better handling of shutdown state in client side. 2013-01-31 13:01:17 +01:00
Stephane Letz d9cd90628f Correct JackDummyDriver driver_initialize. 2013-01-28 06:14:57 +01:00
Stephane Letz 2ebe9338a7 Init fCPULoad field. 2013-01-27 17:40:38 +01:00
Stephane Letz 15950eb1df Rework XRun handling. 2013-01-27 12:29:19 +01:00
Stephane Letz ddb61e607b Correct JackClient::OnShutdown. 2013-01-26 20:51:57 +01:00
Stephane Letz c1f057e013 Fix stupid typo in JackEngine::NotifyRemoveClient. 2013-01-26 15:34:44 +01:00
Stephane Letz 7849b9279e John Emmas patch for Windows. 2013-01-26 11:25:25 +01:00
Stephane Letz e32b0cd318 Improve server shutdown and stop. 2013-01-25 13:51:56 +01:00
Stephane Letz d8a6bc4de6 Cleanup. 2013-01-25 09:12:05 +01:00
Stephane Letz 2f9b93d0eb Rework JackEngine::Shutdown. 2013-01-25 08:42:47 +01:00
Stephane Letz 3fc1d76f9e Cleanup. 2013-01-24 23:54:56 +01:00
Stephane Letz bebd4d3d69 Make API test more robust. 2013-01-24 18:42:50 +01:00
Stephane Letz ee2cc69974 Cleanup audio mixing code. 2013-01-22 20:32:21 +01:00
Stephane Letz 671ad8f847 Another typo detected by clang. 2013-01-15 09:24:44 +01:00
Stephane Letz fbfebdcdd7 Fix some incoherency with strings (2). 2013-01-15 07:55:27 +01:00
Stephane Letz e4730c6c97 Fix some incoherency with strings. 2013-01-14 16:29:53 +01:00
Stephane Letz feec982949 Move ClientKill in JackEngine class. 2013-01-13 22:31:06 +01:00
Stephane Letz 879d72577b Dynamically scan and print backend and internal names in jackd (2). 2013-01-12 22:13:50 +01:00
Stephane Letz c4fb864e9f Dynamically scan and print backend and internal names in jackd. 2013-01-12 22:08:37 +01:00
Stephane Letz 7f09225b7a Code cleanup after compilation with clang. 2013-01-12 21:39:02 +01:00
Stephane Letz b7c53a84db Move SYNC_MAX_NAME_SIZE in JackConstants.h, correct synchro primitives BuildName method. 2013-01-12 13:06:05 +01:00
Stephane Letz d3589cbc3c Use JackTools::DefaultServerName() everywhere needed. 2013-01-12 12:30:49 +01:00
Stephane Letz 17e94e178e Fix stupid typo. 2013-01-10 17:38:42 +01:00
Stephane Letz e111f2ac8f Protect shared fSynchroTable access with a mutex. 2013-01-09 16:05:48 +01:00
Adrian Knoth aa5593229d [cosmetics] Sanitise systemdeps.h 2013-01-09 12:58:26 +01:00
Adrian Knoth 2f7d512b41 Fix bus error on ARM platforms
With the current code, packed structs lead to unaligned memory access,
thus causing SIGBUS on ARM.

Let's disable packing on ARM for now. Since it's only used for mixed
32/64bit jackd installations and we're not facing such a scenario on
ARM, there's little use to worry more atm.
2013-01-09 12:58:26 +01:00
Basil Nutmeg c5352804af Delete some redundant macros and typedefs.
A few internal source files were redeclaring types and macros also
declared in the external jack/types.h and jack/systemdeps.h headers.
Since the external header needs them, delete them from the internal
headers.
2013-01-08 14:44:10 +01:00
Stephane Letz 8623ae4063 Version 1.9.10 started. 2012-12-10 16:26:47 +01:00
Nedko Arnaudov 760e5477a4 Merge commit '1.9.9.5' into no-self-connect
Conflicts:
	common/JackControlAPI.cpp
2012-12-10 15:51:17 +02:00
Nedko Arnaudov ce50e5b0ed waf: configure option for enforcing autostart method 2012-11-24 07:06:31 +02:00
Stephane Letz 2d8992ab62 Correct JackPortAudioDriver. 2012-11-12 12:18:35 +01:00
Stephane Letz e577581de8 Correct JackEngine::NotifyGraphReorder : graph-order callback now notified after port latencies update. 2012-10-29 21:12:12 +01:00
Stephane Letz 994423f8b5 Update Syst V shared memory implementation. 2012-10-28 12:19:22 +01:00
Stephane Letz 1241541b62 Remove uneeded log in JackMidiDriver. 2012-10-24 18:58:12 +02:00
Stephane Letz 700489b429 Move NotifyQuit in JackServer::Stop. 2012-10-24 13:02:04 +02:00
Stephane Letz aa02feeacf No lock needed in JackLockedEngine::NotifyQuit. 2012-10-24 10:30:03 +02:00
Robin Gareus 51bffbf379 netjack/opus: don't re-init en/decoders 2012-09-23 08:47:46 +02:00
Stephane Letz 50e793e74e Remove warning, renaming. 2012-09-10 23:16:53 +02:00
Stéphane Letz d3d49455b2 Merge pull request #16 from x42/master
Opus Netjack integration
2012-09-10 14:02:48 -07:00
Nedko Arnaudov ee845d4633 controlapi: fix double free on master switch
Thanks to Robin Gareus.
https://github.com/jackaudio/jack2/issues/17
2012-09-10 22:15:58 +03:00
Robin Gareus 3085ae19e9 netjack1/2 Opus: use only 2bytes for encoded-length 2012-09-10 15:25:12 +02:00
Robin Gareus d94f5edb03 netjack1/netone opus support 2012-09-10 15:24:37 +02:00
Robin Gareus a0dd08c32e pass Opus encoded-length along with payload
Eventually unused data should not be transmitted. That will require
dynamic package lengths which are not yet supported by netjack2
2012-09-09 19:27:25 +02:00
Stéphane Letz ec499f4cc6 Merge pull request #13 from x42/master
add libopus support to netjack2
2012-09-05 07:56:56 -07:00
Stephane Letz 373e6ea95b Minor version numbering. 2012-09-05 16:40:49 +02:00
Robin Gareus 33bef4fcb0 add opus support to NetJack2 2012-09-05 16:10:36 +02:00