Skip to content

Commit 41dff5d

Browse files
committed
espressif: i2sout: don't needlessly set sample rate
this may reduce glitches when starting samples
1 parent 75ed286 commit 41dff5d

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

ports/espressif/common-hal/audiobusio/__init__.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,11 @@ void port_i2s_play(i2s_t *self, mp_obj_t sample, bool loop) {
223223

224224
audiosample_reset_buffer(self->sample, false, 0);
225225

226-
CHECK_ESP_RESULT(i2s_set_sample_rates(self->instance, audiosample_sample_rate(sample)));
226+
uint32_t sample_rate = audiosample_sample_rate(sample);
227+
if (sample_rate != self->i2s_config.sample_rate) {
228+
CHECK_ESP_RESULT(i2s_set_sample_rates(self->instance, audiosample_sample_rate(sample)));
229+
self->i2s_config.sample_rate = sample_rate;
230+
}
227231

228232
background_callback_add(&self->callback, i2s_callback_fun, self);
229233
}

0 commit comments

Comments
 (0)