Browse Source

Pieter Palmers patch for FFADO driver.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2088 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.71
sletz 17 years ago
parent
commit
900b575758
3 changed files with 20 additions and 4 deletions
  1. +4
    -0
      ChangeLog
  2. +1
    -1
      SConstruct
  3. +15
    -3
      linux/firewire/JackFFADODriver.cpp

+ 4
- 0
ChangeLog View File

@@ -20,6 +20,10 @@ Fernando Lopez-Lezcano
Jackdmp changes log
---------------------------

2008-03-27 Stephane Letz <letz@grame.fr>
* Pieter Palmers patch FFADO driver.

2008-03-26 Stephane Letz <letz@grame.fr>
* JackWrapperAPI.cpp: use open_library in jack_client_name_size, jack_port_name_size and jack_port_type_size.


+ 1
- 1
SConstruct View File

@@ -158,7 +158,7 @@ if not env.GetOption('clean'):
env['ENABLE_FREEBOB'] = False

if env['BUILD_FOR_LINUX'] and env['ENABLE_FIREWIRE']:
env['FFADO_FLAGS'] = conf.GetPKGFlags('libffado', '1.999.14')
env['FFADO_FLAGS'] = conf.GetPKGFlags('libffado', '1.999.17')
if env['FFADO_FLAGS'] == 0:
print "--> Disabling 'firewire' backend since no useful FFADO installation found"
env['ENABLE_FIREWIRE'] = False


+ 15
- 3
linux/firewire/JackFFADODriver.cpp View File

@@ -44,7 +44,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
namespace Jack
{

#define FIREWIRE_REQUIRED_FFADO_API_VERSION 7
#define FIREWIRE_REQUIRED_FFADO_API_VERSION 8

#define jack_get_microseconds GetMicroSeconds

@@ -273,7 +273,10 @@ JackFFADODriver::ffado_driver_wait (ffado_driver_t *driver, int extra_fd, int *s
driver->wait_next = wait_ret + driver->period_usecs;
// driver->engine->transport_cycle_start (driver->engine, wait_ret);

if (response == ffado_wait_xrun) {
if(response == ffado_wait_ok) {
// all good
*status = 0;
} else if (response == ffado_wait_xrun) {
// xrun happened, but it's handled
*status = 0;
return 0;
@@ -282,9 +285,18 @@ JackFFADODriver::ffado_driver_wait (ffado_driver_t *driver, int extra_fd, int *s
// this should be fatal
*status = -1;
return 0;
} else if (response == ffado_wait_shutdown) {
// ffado requested shutdown (e.g. device unplugged)
// this should be fatal
*status = -1;
return 0;
} else {
// unknown response code. should be fatal
// this should be fatal
*status = -1;
return 0;
}

*status = 0;
fLastWaitUst = wait_ret;

printExit();


Loading…
Cancel
Save