diff options
author | paul <paul@0c269be4-1314-0410-8aa9-9f06e86f4224> | 2010-01-28 15:40:35 +0000 |
---|---|---|
committer | paul <paul@0c269be4-1314-0410-8aa9-9f06e86f4224> | 2010-01-28 15:40:35 +0000 |
commit | b879a610a34d4cdb6052d1e579d0bd88827428f7 (patch) | |
tree | 020ef2c2a58cc8cb032f732594282604ff3f178f /drivers/alsa/alsa_driver.c | |
parent | 439e1fca82b8f9a622b6293d12f0ddcf8f549ba9 (diff) | |
download | jack1-b879a610a34d4cdb6052d1e579d0bd88827428f7.tar.gz |
check return result of engine->set_buffer_size() in all backends, so that if the user specifies -M <insane>, we fail cleanly rather than with a segfault; update man page with comments about -M values
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@3888 0c269be4-1314-0410-8aa9-9f06e86f4224
Diffstat (limited to 'drivers/alsa/alsa_driver.c')
-rw-r--r-- | drivers/alsa/alsa_driver.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/alsa/alsa_driver.c b/drivers/alsa/alsa_driver.c index 51009fa..95b6946 100644 --- a/drivers/alsa/alsa_driver.c +++ b/drivers/alsa/alsa_driver.c @@ -863,8 +863,11 @@ alsa_driver_set_parameters (alsa_driver_t *driver, driver->poll_timeout = (int) floor (1.5f * driver->period_usecs); if (driver->engine) { - driver->engine->set_buffer_size (driver->engine, - driver->frames_per_cycle); + if (driver->engine->set_buffer_size (driver->engine, + driver->frames_per_cycle)) { + jack_error ("ALSA: Cannot set engine buffer size to %d (check MIDI)", driver->frames_per_cycle); + return -1; + } } return 0; @@ -1733,7 +1736,10 @@ alsa_driver_attach (alsa_driver_t *driver) jack_port_t *port; int port_flags; - driver->engine->set_buffer_size (driver->engine, driver->frames_per_cycle); + if (driver->engine->set_buffer_size (driver->engine, driver->frames_per_cycle)) { + jack_error ("ALSA: cannot set engine buffer size for %d (check MIDI)", driver->frames_per_cycle); + return -1; + } driver->engine->set_sample_rate (driver->engine, driver->frame_rate); port_flags = JackPortIsOutput|JackPortIsPhysical|JackPortIsTerminal; |