diff options
| -rw-r--r-- | sys/dev/sound/pcm/vchan.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/sound/pcm/vchan.c b/sys/dev/sound/pcm/vchan.c index 7edbf7171844..2f8ce6883c2c 100644 --- a/sys/dev/sound/pcm/vchan.c +++ b/sys/dev/sound/pcm/vchan.c @@ -440,8 +440,15 @@ vchan_create(struct pcm_channel *parent) device_get_unit(parent->dev), "vchanrate", &speed); CHN_LOCK(parent); - if (r != 0) + if (r != 0) { speed = VCHAN_DEFAULT_SPEED; + /* + * Workaround for sb16 running + * poorly at 45k. + */ + if (speed > parent_caps->maxspeed) + speed = 44100; + } } /* |
