summaryrefslogtreecommitdiff
path: root/drivers/alsa/alsa_driver.c
diff options
context:
space:
mode:
authorpaul <paul@0c269be4-1314-0410-8aa9-9f06e86f4224>2010-01-28 15:40:35 +0000
committerpaul <paul@0c269be4-1314-0410-8aa9-9f06e86f4224>2010-01-28 15:40:35 +0000
commitb879a610a34d4cdb6052d1e579d0bd88827428f7 (patch)
tree020ef2c2a58cc8cb032f732594282604ff3f178f /drivers/alsa/alsa_driver.c
parent439e1fca82b8f9a622b6293d12f0ddcf8f549ba9 (diff)
downloadjack1-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.c12
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;