Skip to content

Commit 961b320

Browse files
authored
i2s_zero_dma_buffer() in IDF < V5 only
1 parent dbc9acf commit 961b320

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

src/Audio.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
#include "esp_arduino_version.h"
2-
#include "assert.h"
31
/*
42
* Audio.cpp
53
*
64
* Created on: Oct 26.2018
75
*
8-
* Version 3.0.7y
9-
* Updated on: Dec 15.2023
6+
* Version 3.0.7z
7+
* Updated on: Dec 16.2023
108
* Author: Wolle (schreibfaul1)
119
*
1210
*/
@@ -230,6 +228,7 @@ Audio::Audio(bool internalDAC /* = false */, uint8_t channelEnabled /* = I2S_SLO
230228
i2s_driver_install((i2s_port_t)m_i2s_num, &m_i2s_config, 0, NULL);
231229
m_f_forceMono = false;
232230
}
231+
i2s_zero_dma_buffer((i2s_port_t) m_i2s_num);
233232

234233
#endif // ESP_IDF_VERSION_MAJOR == 5
235234
for(int i = 0; i < 3; i++) {
@@ -240,7 +239,7 @@ Audio::Audio(bool internalDAC /* = false */, uint8_t channelEnabled /* = I2S_SLO
240239
m_filter[i].b2 = 0;
241240
}
242241
computeLimit(); // first init, vol = 21, vol_steps = 21
243-
i2s_zero_dma_buffer((i2s_port_t) m_i2s_num);
242+
244243
}
245244
//---------------------------------------------------------------------------------------------------------------------
246245
void Audio::setBufsize(int rambuf_sz, int psrambuf_sz) {
@@ -2112,7 +2111,7 @@ uint32_t Audio::stopSong() {
21122111
log_w("Closing audio file"); // for debug
21132112
}
21142113
memset(m_outBuff, 0, 2048 * 2 * sizeof(uint16_t)); // Clear OutputBuffer
2115-
// i2s_zero_dma_buffer((i2s_port_t) m_i2s_num);
2114+
m_validSamples = 0;
21162115
return pos;
21172116
}
21182117
//---------------------------------------------------------------------------------------------------------------------
@@ -2123,9 +2122,8 @@ bool Audio::pauseResume() {
21232122
m_f_running = !m_f_running;
21242123
retVal = true;
21252124
if(!m_f_running) {
2126-
memset(m_outBuff, 0,
2127-
2048 * 2 * sizeof(uint16_t)); // Clear OutputBuffer
2128-
// i2s_zero_dma_buffer((i2s_port_t) m_i2s_num);
2125+
memset(m_outBuff, 0, 2048 * 2 * sizeof(uint16_t)); // Clear OutputBuffer
2126+
m_validSamples = 0;
21292127
}
21302128
}
21312129
xSemaphoreGive(mutex_audio);
@@ -4661,6 +4659,8 @@ bool Audio::setFilePos(uint32_t pos) {
46614659
if(pos < m_audioDataStart) pos = m_audioDataStart; // issue #96
46624660
if(pos > m_file_size) pos = m_file_size;
46634661
m_resumeFilePos = pos;
4662+
memset(m_outBuff, 0, 2048 * 2 * sizeof(int16_t));
4663+
m_validSamples = 0;
46644664
return true;
46654665
}
46664666
//---------------------------------------------------------------------------------------------------------------------

src/Audio.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
*
44
* Created on: Oct 28,2018
55
*
6-
* Version 3.0.7y
7-
* Updated on: Dec 15.2023
6+
* Version 3.0.7z
7+
* Updated on: Dec 16.2023
88
* Author: Wolle (schreibfaul1)
99
*/
1010

@@ -142,7 +142,7 @@ class Audio : private AudioBuffer{
142142
bool setFilePos(uint32_t pos);
143143
bool audioFileSeek(const float speed);
144144
bool setTimeOffset(int sec);
145-
bool setPinout(uint8_t BCLK, uint8_t LRC, uint8_t DOUT, int8_t MCK = I2S_GPIO_UNUSED);
145+
bool setPinout(uint8_t BCLK, uint8_t LRC, uint8_t DOUT, int8_t MCLK = I2S_GPIO_UNUSED);
146146
bool pauseResume();
147147
bool isRunning() {return m_f_running;}
148148
void loop();

0 commit comments

Comments
 (0)