Skip to content

Commit 4f46f97

Browse files
committed
AudioSource: timeout in begin
1 parent 12b40dd commit 4f46f97

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

src/AudioTools/Disk/AudioSourceIdxSD.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,13 @@ class AudioSourceIdxSD : public AudioSource {
5454
virtual bool begin() override {
5555
TRACED();
5656
if (!is_sd_setup) {
57+
int retry = 10;
5758
while (!start_sd()) {
5859
LOGW("SD.begin cs=%d failed", cs);
5960
delay(500);
61+
if (--retry <= 0) {
62+
return false;
63+
}
6064
}
6165
is_sd_setup = true;
6266
}

src/AudioTools/Disk/AudioSourceSDMMC.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class AudioSourceSDMMC : public AudioSource {
4343
if (!is_sd_setup) {
4444
if (!SD_MMC.begin("/sdcard", true)) {
4545
LOGE("SD_MMC.begin failed");
46-
return;
46+
return false;
4747
}
4848
is_sd_setup = true;
4949
}

src/AudioTools/Disk/AudioSourceSPIFFS.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,13 @@ class AudioSourceSPIFFS : public AudioSource {
2424
virtual bool begin() override {
2525
TRACED();
2626
if (!is_sd_setup) {
27+
int retry = 10;
2728
while (!SPIFFS.begin()) {
2829
LOGE("SPIFFS.begin failed");
29-
delay(1000);
30+
delay(500);
31+
if (--retry <= 0) {
32+
return false;
33+
}
3034
}
3135
is_sd_setup = true;
3236
}

0 commit comments

Comments
 (0)