1. 12 Mar, 2017 8 commits
  2. 07 Mar, 2017 2 commits
  3. 02 Mar, 2017 2 commits
  4. 28 Feb, 2017 1 commit
  5. 23 Feb, 2017 3 commits
  6. 07 Feb, 2017 1 commit
  7. 24 Jan, 2017 1 commit
  8. 14 Jan, 2017 1 commit
  9. 13 Jan, 2017 1 commit
    • Markus Seeber's avatar
      Avoid side effects from parsing of "version" option in jackd (#245) · 64a56049
      Markus Seeber authored
      * 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.
      64a56049
  10. 10 Jan, 2017 1 commit
  11. 20 Dec, 2016 3 commits
  12. 19 Dec, 2016 2 commits
  13. 17 Dec, 2016 2 commits
  14. 18 Oct, 2016 2 commits
  15. 13 Sep, 2016 1 commit
  16. 27 Aug, 2016 1 commit
    • Rahul Bedarkar's avatar
      tests: define __STDC_LIMIT_MACROS · 1dc83fd7
      Rahul Bedarkar authored
      With glibc 2.16, we get following build error when building jack2:
      
        [193/247] cxx: tests/iodelay.cpp -> build/tests/iodelay.cpp.4.o
        ../tests/iodelay.cpp:171:43: error: 'UINT32_MAX' was not declared in this scope
        ../tests/iodelay.cpp:171:55: error: 'UINT32_MAX' was not declared in this scope
        ../tests/iodelay.cpp:172:44: error: 'UINT32_MAX' was not declared in this scope
        ../tests/iodelay.cpp:172:56: error: 'UINT32_MAX' was not declared in this scope
      
      In glibc 2.17 or older version, Header <stdint.h> defines these macros
      for C++ only if explicitly requested by defining __STDC_LIMIT_MACROS.
      
      We can't use <cstdint> since it requires C++11 standard.
      
      This build issue found by Buildroot autobuilder.
      http://autobuild.buildroot.net/results/369/369ce208ffea43dad75ba0a13469159b341e3bf5/
      
      
      
      Signed-off-by: default avatarRahul Bedarkar <rahul.bedarkar@imgtec.com>
      1dc83fd7
  17. 22 Jun, 2016 1 commit
  18. 11 Jun, 2016 3 commits
    • Adrian Knoth's avatar
      Fix initialization in test/iodelay.cpp · ff1ed2c4
      Adrian Knoth authored
      jack_latency_range_t is
      
      struct _jack_latency_range {
          jack_nframes_t min;
          jack_nframes_t max;
      };
      
      and jack_nframes_t is
      
      typedef uint32_t        jack_nframes_t;
      
      so it's unsigned. Initialising it with -1 is invalid (at least in C++14). We cannot use {0, 0}, because latency_cb has
      
         jack_latency_range_t range;
         range.min = range.max = 0;
         if ((range.min != capture_latency.min) || (range.max !=
             capture_latency.max)) {
             capture_latency = range;
         }
      
      so we must not have {0, 0}, otherwise the condition would never be true.
      
      Using UINT32_MAX should be equivalent to the previous -1.
      ff1ed2c4
    • Adrian Knoth's avatar
      Fix C++14 warning · 43efc94e
      Adrian Knoth authored
      Space required before macro. No functional changes.
      43efc94e
    • Adrian Knoth's avatar
      Heap-allocate client matrix in topo sort · 69157882
      Adrian Knoth authored
      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
      69157882
  19. 20 May, 2016 1 commit
  20. 19 May, 2016 3 commits
    • Gaël PORTAY's avatar
      Fix duplicate instruction. · fd48059f
      Gaël PORTAY authored
      fd48059f
    • Gaël PORTAY's avatar
      9e5d1909
    • Gaël PORTAY's avatar
      Fix initialization of string members. · ddf1b5a1
      Gaël PORTAY authored
      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==
      ddf1b5a1