Skip to content

Commit b710e04

Browse files
committed
Fallback to ALSA-provided period size if setting it fails
1 parent 4da16f1 commit b710e04

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/host/alsa/mod.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1168,9 +1168,14 @@ fn set_hw_params_periods(hw_params: &alsa::pcm::HwParams, buffer_size: BufferSiz
11681168
};
11691169

11701170
// Actual period size
1171-
let Ok(period_size) =
1172-
hw_params.set_period_size_near(period_size as _, alsa::ValueOr::Greater)
1171+
let Ok(period_size) = hw_params
1172+
.set_period_size_near(period_size as _, alsa::ValueOr::Greater)
1173+
.or_else(|_| {
1174+
// If setting fails, try to get whatever period size the device currently has
1175+
hw_params.get_period_size()
1176+
})
11731177
else {
1178+
// Only fail if we can't even query the current size
11741179
return false;
11751180
};
11761181

0 commit comments

Comments
 (0)