diff --git a/components/audio_stream/include/i2s_stream.h b/components/audio_stream/include/i2s_stream.h
index a49172a3e..6d62a44fb 100644
--- a/components/audio_stream/include/i2s_stream.h
+++ b/components/audio_stream/include/i2s_stream.h
@@ -55,22 +55,47 @@ typedef struct {
#define I2S_STREAM_TASK_CORE (0)
#define I2S_STREAM_RINGBUFFER_SIZE (8 * 1024)
+// #define I2S_STREAM_CFG_DEFAULT() { \
+// .type = AUDIO_STREAM_WRITER, \
+// .task_prio = I2S_STREAM_TASK_PRIO, \
+// .task_core = I2S_STREAM_TASK_CORE, \
+// .task_stack = I2S_STREAM_TASK_STACK, \
+// .out_rb_size = I2S_STREAM_RINGBUFFER_SIZE, \
+// .i2s_config = { \
+// .mode = I2S_MODE_MASTER | I2S_MODE_TX | I2S_MODE_RX, \
+// .sample_rate = 44100, \
+// .bits_per_sample = 16, \
+// .channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT, \
+// .communication_format = I2S_COMM_FORMAT_I2S, \
+// .dma_buf_count = 3, \
+// .dma_buf_len = 300, \
+// .use_apll = 1, \
+// .intr_alloc_flags = ESP_INTR_FLAG_LEVEL2, \
+// }, \
+// .i2s_pin_config = { \
+// .bck_io_num = IIS_SCLK, \
+// .ws_io_num = IIS_LCLK, \
+// .data_out_num = IIS_DSIN, \
+// .data_in_num = IIS_DOUT, \
+// }, \
+// .i2s_port = 0, \
+// }
+
+// FIXME OK -> C++ / Arduino / Platformio -> a value of type "int" cannot be used to initialize an entity of type "i2s_mode_t"
+// -> in .platformio\packages\framework-arduinoespressif32\tools\sdk\include\driver\driver\i2s.h - i2s_mode_t - I2S_MODE_MASTER_TX_RX = 13,
+// FIXME OK -> C++ / Arduino / Platformio -> non-trivial-designated-initializers-not-supported -> the order of initialization needs to be in the exact order of declaration.
#define I2S_STREAM_CFG_DEFAULT() { \
.type = AUDIO_STREAM_WRITER, \
- .task_prio = I2S_STREAM_TASK_PRIO, \
- .task_core = I2S_STREAM_TASK_CORE, \
- .task_stack = I2S_STREAM_TASK_STACK, \
- .out_rb_size = I2S_STREAM_RINGBUFFER_SIZE, \
.i2s_config = { \
- .mode = I2S_MODE_MASTER | I2S_MODE_TX | I2S_MODE_RX, \
+ .mode = I2S_MODE_MASTER_TX_RX, \
.sample_rate = 44100, \
- .bits_per_sample = 16, \
+ .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT, \
.channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT, \
.communication_format = I2S_COMM_FORMAT_I2S, \
+ .intr_alloc_flags = ESP_INTR_FLAG_LEVEL2, \
.dma_buf_count = 3, \
.dma_buf_len = 300, \
.use_apll = 1, \
- .intr_alloc_flags = ESP_INTR_FLAG_LEVEL2, \
}, \
.i2s_pin_config = { \
.bck_io_num = IIS_SCLK, \
@@ -78,9 +103,14 @@ typedef struct {
.data_out_num = IIS_DSIN, \
.data_in_num = IIS_DOUT, \
}, \
- .i2s_port = 0, \
-}
-
+ .i2s_port = I2S_NUM_0, \
+ .out_rb_size = I2S_STREAM_RINGBUFFER_SIZE, \
+ .task_stack = I2S_STREAM_TASK_STACK, \
+ .task_core = I2S_STREAM_TASK_CORE, \
+ .task_prio = I2S_STREAM_TASK_PRIO, \
+}
+
+
#define I2S_STREAM_INTERNAL_DAC_CFG_DEFAULT() { \
.type = AUDIO_STREAM_WRITER, \
.task_prio = I2S_STREAM_TASK_PRIO, \