@@ -80,6 +80,8 @@ void i2s_reset(void) {
8080 }
8181}
8282
83+ #define I2S_WRITE_DELAY pdMS_TO_TICKS(1)
84+
8385static void i2s_fill_buffer (i2s_t * self ) {
8486 if (self -> instance < 0 || self -> instance >= I2S_NUM_MAX ) {
8587 return ;
@@ -92,7 +94,7 @@ static void i2s_fill_buffer(i2s_t *self) {
9294
9395 size_t bytes_written = 0 ;
9496 do {
95- CHECK_ESP_RESULT (i2s_write (self -> instance , signed_samples , sizeof (signed_samples ), & bytes_written , 0 ));
97+ CHECK_ESP_RESULT (i2s_write (self -> instance , signed_samples , sizeof (signed_samples ), & bytes_written , I2S_WRITE_DELAY ));
9698 } while (bytes_written != 0 );
9799 return ;
98100 }
@@ -120,9 +122,9 @@ static void i2s_fill_buffer(i2s_t *self) {
120122 size_t bytecount = self -> sample_end - self -> sample_data ;
121123 if (self -> samples_signed && self -> channel_count == 2 ) {
122124 if (self -> bytes_per_sample == 2 ) {
123- CHECK_ESP_RESULT (i2s_write (self -> instance , self -> sample_data , bytecount , & bytes_written , 0 ));
125+ CHECK_ESP_RESULT (i2s_write (self -> instance , self -> sample_data , bytecount , & bytes_written , I2S_WRITE_DELAY ));
124126 } else {
125- CHECK_ESP_RESULT (i2s_write_expand (self -> instance , self -> sample_data , bytecount , 8 , 16 , & bytes_written , 0 ));
127+ CHECK_ESP_RESULT (i2s_write_expand (self -> instance , self -> sample_data , bytecount , 8 , 16 , & bytes_written , I2S_WRITE_DELAY ));
126128 }
127129 } else {
128130 const size_t bytes_per_output_frame = 4 ;
@@ -151,7 +153,7 @@ static void i2s_fill_buffer(i2s_t *self) {
151153 }
152154 }
153155 size_t expanded_bytes_written = 0 ;
154- CHECK_ESP_RESULT (i2s_write (self -> instance , signed_samples , bytes_per_output_frame * framecount , & expanded_bytes_written , 0 ));
156+ CHECK_ESP_RESULT (i2s_write (self -> instance , signed_samples , bytes_per_output_frame * framecount , & expanded_bytes_written , I2S_WRITE_DELAY ));
155157 assert (expanded_bytes_written % 4 == 0 );
156158 bytes_written = expanded_bytes_written / bytes_per_output_frame * bytes_per_input_frame ;
157159 }
0 commit comments