Problem with StreamMP3FromHTTP
Hello, I 'm trying the demo "StreamMP3FromHTTP". I'm using an ESP32 Dev Kit With the MAX98657A I2S Mono Decoder. I have changed the AudioOutputI2SNoDAC by AudioOutputI2S
The Code is the following: ` #include <Arduino.h>
#ifdef ESP32 #include <WiFi.h> #else #include <ESP8266WiFi.h> #endif #include "AudioFileSourceICYStream.h" #include "AudioFileSourceBuffer.h" #include "AudioGeneratorMP3.h" #include "AudioOutputI2S.h"
// To run, set your ESP8266 build to 160MHz, update the SSID info, and upload.
// Enter your WiFi setup here: const char *SSID = "TESTSSID"; const char *PASSWORD = "TESTPASS";
// Randomly picked URL const char *URL="http://eurek.org/main/xxMP3test/mp3song.mp3";
AudioGeneratorMP3 *mp3; AudioFileSourceICYStream *file; AudioFileSourceBuffer *buff; AudioOutputI2S *out;
// Called when a metadata event occurs (i.e. an ID3 tag, an ICY block, etc. void MDCallback(void *cbData, const char *type, bool isUnicode, const char *string) { const char *ptr = reinterpret_cast<const char *>(cbData); (void) isUnicode; // Punt this ball for now // Note that the type and string may be in PROGMEM, so copy them to RAM for printf char s1[32], s2[64]; strncpy_P(s1, type, sizeof(s1)); s1[sizeof(s1)-1]=0; strncpy_P(s2, string, sizeof(s2)); s2[sizeof(s2)-1]=0; Serial.printf("METADATA(%s) '%s' = '%s'\n", ptr, s1, s2); Serial.flush(); }
// Called when there's a warning or error (like a buffer underflow or decode hiccup) void StatusCallback(void *cbData, int code, const char *string) { const char *ptr = reinterpret_cast<const char *>(cbData); // Note that the string may be in PROGMEM, so copy it to RAM for printf char s1[64]; strncpy_P(s1, string, sizeof(s1)); s1[sizeof(s1)-1]=0; Serial.printf("STATUS(%s) '%d' = '%s'\n", ptr, code, s1); Serial.flush(); }
void setup() { Serial.begin(115200); delay(1000); Serial.println("Connecting to WiFi");
WiFi.disconnect(); WiFi.softAPdisconnect(true); WiFi.mode(WIFI_STA);
WiFi.begin(SSID, PASSWORD);
// Try forever while (WiFi.status() != WL_CONNECTED) { Serial.println("...Connecting to WiFi"); delay(1000); } Serial.println("Connected");
audioLogger = &Serial; file = new AudioFileSourceICYStream(URL); file->RegisterMetadataCB(MDCallback, (void*)"ICY"); buff = new AudioFileSourceBuffer(file, 2048); buff->RegisterStatusCB(StatusCallback, (void*)"buffer"); out = new AudioOutputI2S(); mp3 = new AudioGeneratorMP3(); mp3->RegisterStatusCB(StatusCallback, (void*)"mp3"); mp3->begin(buff, out); }
void loop() { static int lastms = 0;
if (mp3->isRunning()) { if (millis()-lastms > 1000) { lastms = millis(); Serial.printf("Running for %d ms...\n", lastms); Serial.flush(); } if (!mp3->loop()) mp3->stop(); } else { Serial.printf("MP3 done\n"); delay(1000); } } `
It seems that something is failing, the song plays in sections and never reaches the end before displaying the "MP3 done" message.This code shows the following by the COM terminal:
- ho 0 tail 12 room 4
- load:0x40078000,len:9720
- ho 0 tail 12 room 4
- load:0x40080400,len:6352
- entry 0x400806b8
- Connecting to WiFi
- ...Connecting to WiFi
- Connected
- +0 0x3ffb1f38
- Running for 2694 ms...
- STATUS(buffer) '2' = 'Refilling buffer'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2048'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2049'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2050'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2051'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2052'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2053'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2054'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2055'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2056'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2057'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2058'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2059'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2060'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2061'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2062'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2063'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2064'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2065'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2066'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2067'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2068'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2069'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2070'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2071'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2072'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2073'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2074'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2075'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2076'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2077'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2078'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2079'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2080'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2081'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2082'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2083'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2084'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2085'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2086'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2087'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2088'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2089'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2090'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2091'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2092'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2093'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2094'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2095'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2096'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2097'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2098'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2099'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2100'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2101'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2102'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2103'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2104'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2105'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2106'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2107'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2108'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2109'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2110'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2111'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2112'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2113'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2114'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2115'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2116'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2117'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2118'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2119'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2120'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2121'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2122'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2123'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2124'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2125'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2126'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2127'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2128'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2129'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2130'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2131'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2132'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2133'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2134'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2135'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2136'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2137'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2138'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2139'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2140'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2141'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2142'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2143'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2144'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2145'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2146'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2147'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2148'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2149'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2150'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2151'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2152'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2153'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2154'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2155'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2156'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2157'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2158'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2159'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2160'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2161'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2162'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2163'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2164'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2165'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2166'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2167'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2168'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2169'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2170'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2171'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2172'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2173'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2174'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2175'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2176'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2177'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2178'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2179'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2180'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2181'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2182'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2183'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 2184'
- Running for 3968 ms...
- Running for 4969 ms...
- STATUS(buffer) '3' = 'Buffer underflow'
- STATUS(buffer) '2' = 'Refilling buffer'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34325'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34326'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34327'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34328'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34329'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34330'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34331'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34332'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34333'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34334'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34335'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34336'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34337'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34338'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34339'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34340'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34341'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34342'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34343'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34344'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34345'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34346'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34347'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34348'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34349'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34350'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34351'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34352'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34353'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34354'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34355'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34356'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34357'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34358'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34359'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34360'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34361'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34362'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34363'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34364'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34365'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34366'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34367'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34368'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34369'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34370'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34371'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34372'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34373'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34374'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34375'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34376'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34377'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34378'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34379'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34380'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34381'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34382'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34383'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34384'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34385'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34386'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34387'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34388'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34389'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34390'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34391'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34392'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34393'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34394'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34395'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34396'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34397'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34398'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34399'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34400'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34401'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34402'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34403'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34404'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34405'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34406'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34407'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34408'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34409'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34410'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34411'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34412'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34413'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34414'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34415'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34416'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34417'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34418'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34419'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34420'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34421'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34422'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34423'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34424'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34425'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34426'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34427'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34428'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34429'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34430'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34431'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34432'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34433'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34434'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34435'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34436'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34437'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34438'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34439'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34440'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34441'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34442'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34443'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34444'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34445'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34446'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34447'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34448'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34449'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34450'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34451'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34452'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34453'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34454'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34455'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34456'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34457'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34458'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34459'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34460'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34461'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34462'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34463'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34464'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34465'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34466'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34467'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34468'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34469'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34470'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34471'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34472'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34473'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34474'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34475'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34476'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34477'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34478'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34479'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34480'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34481'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34482'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34483'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34484'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34485'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34486'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34487'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34488'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34489'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34490'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34491'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34492'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34494'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34494'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34495'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34496'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34497'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34498'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34499'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34500'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34501'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34502'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34503'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34504'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34505'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34506'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34507'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34508'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34509'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34510'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34511'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34512'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34513'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34514'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34515'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34516'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34517'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34518'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34519'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34520'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34521'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34522'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34523'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34524'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34525'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34526'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34527'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34528'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34529'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34530'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34531'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34532'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34533'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34534'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34535'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34536'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34537'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34538'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34539'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34540'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34541'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34542'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34543'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34544'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34545'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34546'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34547'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34548'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34549'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34550'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34551'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34552'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34553'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34554'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34555'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34556'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34557'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34558'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34559'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34560'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34561'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34562'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34563'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34564'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34565'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34566'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34567'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34568'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34569'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34570'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34571'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34572'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34573'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34574'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34575'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34576'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34577'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34578'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34579'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34580'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34581'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34582'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34583'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34584'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34585'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34586'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34587'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34588'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34589'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34590'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34591'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34592'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34593'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34594'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34595'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34596'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34597'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34598'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34599'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34600'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34601'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34602'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34603'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34604'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34605'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34606'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34607'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34608'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34609'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34610'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34611'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34612'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34613'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34614'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34615'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34616'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34617'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34618'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34619'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34620'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34621'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34622'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34623'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34624'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34625'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34626'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34627'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34628'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34629'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34630'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34631'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34632'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34633'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34634'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34635'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34636'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34637'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34638'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34639'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34640'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34641'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34642'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34643'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34644'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34645'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34646'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34647'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34648'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34649'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34650'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34651'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34652'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34653'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34654'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34655'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34656'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34657'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34658'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34659'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34660'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34661'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34662'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34663'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34664'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34665'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34666'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34667'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34668'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34669'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34670'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34671'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34672'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34673'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34674'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34675'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34676'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34677'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34678'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34679'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34680'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34681'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34682'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34683'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34684'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34685'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34686'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34687'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34688'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34689'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34690'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34691'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34692'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34693'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34694'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34695'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34696'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34697'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34698'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34699'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34700'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34701'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34702'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34703'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34704'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34705'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34706'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34707'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34708'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34709'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34710'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34711'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34712'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34713'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34714'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34715'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34716'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34717'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34718'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34719'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34720'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34721'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34722'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34723'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34724'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34725'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34726'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34727'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34728'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34729'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34730'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34731'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34732'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34733'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34734'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34735'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34736'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34737'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34738'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34739'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34740'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34741'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34742'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34743'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34744'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34745'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34746'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34747'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34748'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34749'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34750'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34751'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34752'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34753'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34754'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34755'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34756'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34757'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34758'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34759'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34760'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34761'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34762'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34763'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34764'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34765'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34766'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34767'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34768'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34769'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34770'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34771'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34772'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34773'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34774'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34775'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34776'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34777'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34778'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34779'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34780'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34781'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34782'
- STATUS(mp3) '257' = 'Decoding error 'lost synchronization' at byte offset 34783'
- STATUS(mp3) '565' = 'Decoding error 'bad main_data_begin pointer' at byte offset 347'
- Running for 9555 ms...
- Running for 10556 ms...
- Running for 11557 ms...
- Running for 12558 ms...
- Running for 13559 ms...
- Running for 14560 ms...
- Running for 15561 ms...
- Running for 16562 ms...
- STATUS(buffer) '3' = 'Buffer underflow'
- STATUS(buffer) '2' = 'Refilling buffer'
- STATUS(buffer) '3' = 'Buffer underflow'
- MP3 stop, len==0
- MP3 done
- MP3 done
- MP3 done
- MP3 done
- MP3 done
- MP3 done
- MP3 done
- MP3 done
I have got the same problem and never got an answer or idea :-/ Unfortunately this is the only pure "Music Stream Class", which is not baked in to a complete radio script, I found after hours of searching.
For me this was primarily related to embedded ID3 tags (not sure if it's particularly due to ID3v2 which is "part" of the audio stream, syncsignal magic). Both of these solutions worked for me:
- Strip mp3 files of all ID3 tags
- Replace the AudioGeneratorMP3 with AudioGeneratorMP3a which uses the Helix MP3 decoder
Sorry I did not understand what do you mean by remove
- "Strip mp3 files of all ID3 tags"
I did replace AudioGeneratorMP3 with AudioGeneratorMP3a it did not work.
I am streaming with a local url with this software,
- http://www.streamwhatyouhear.com/?source=swyh
Example of local stream from computer sound
- "http://192.168.1.13:8000/stream/swyh.mp3"
Me too (( but ESP32 Some body can help to solve that problem?
Try to set out to mono and fix sample rate and also enable reconnect. Also make sure have stable power supply , lose connections and poor breadboard contacts cause to brownouts and memory corruption. Also you should have good wifi signal its very important in sync problem. It's my code and it's stable often :
#include <Arduino.h>
#ifdef ESP32
#include <WiFi.h>
#else
#include <ESP8266WiFi.h>
#endif
#include "AudioFileSourceICYStream.h"
#include "AudioFileSourceBuffer.h"
#include "AudioGeneratorMP3.h"
#include "AudioOutputI2SNoDAC.h"
// To run, set your ESP8266 build to 160MHz, update the SSID info, and upload.
// Enter your WiFi setup here:
const char *SSID = "...";
const char *PASSWORD = "...";
// Uncomment one link (I have added 6 radio streaming link, you can check each)
//flawlessly working radio streaming link
//const char *URL="http://ndr-edge-206c.fra-lg.cdn.addradio.net/ndr/njoy/live/mp3/128/stream.mp3"; //'N-JOY vom NDR - www.n-joy.de'
const char *URL = "http://0n-80s.radionetz.de:8000/0n-70s.mp3";
//const char *URL="http://jazz.streamr.ru/jazz-64.mp3";
// It will work but buffer alot
//const char *URL="http://stream.ca.morow.com:8003/morow_med.mp3";
//const char *URL= "http://ndr-ndr1radiomv-schwerin.sslcast.addradio.de/ndr/ndr1radiomv/schwerin/mp3/128/stream.mp3";
//const char *URL="http://mms.hoerradar.de:8000/rst128k";//Radio RST(German)
AudioGeneratorMP3 *mp3;
AudioFileSourceICYStream *file;
AudioFileSourceBuffer *buff;
AudioOutputI2SNoDAC *out;
// Called when a metadata event occurs (i.e. an ID3 tag, an ICY block, etc.
void MDCallback(void *cbData, const char *type, bool isUnicode, const char *string)
{
const char *ptr = reinterpret_cast<const char *>(cbData);
(void) isUnicode; // Punt this ball for now
// Note that the type and string may be in PROGMEM, so copy them to RAM for printf
char s1[32], s2[64];
strncpy_P(s1, type, sizeof(s1));
s1[sizeof(s1) - 1] = 0;
strncpy_P(s2, string, sizeof(s2));
s2[sizeof(s2) - 1] = 0;
Serial.printf("METADATA(%s) '%s' = '%s'\n", ptr, s1, s2);
Serial.flush();
}
void initA() {
file = new AudioFileSourceHTTPStream(URL);
file->RegisterMetadataCB(MDCallback, (void*)"ICY");
buff = new AudioFileSourceBuffer(file, 2048);
buff->RegisterStatusCB(StatusCallback, (void*)"buffer");
out = new AudioOutputI2SNoDAC();
out->SetOutputModeMono(true);
out->SetGain(1);
out->SetRate(48000);
mp3 = new AudioGeneratorMP3();
mp3->RegisterStatusCB(StatusCallback, (void*)"mp3");
file->SetReconnect(3, 500);
mp3->begin(buff, out);
}
// Called when there's a warning or error (like a buffer underflow or decode hiccup)
void StatusCallback(void *cbData, int code, const char *string)
{
const char *ptr = reinterpret_cast<const char *>(cbData);
// Note that the string may be in PROGMEM, so copy it to RAM for printf
char s1[64];
strncpy_P(s1, string, sizeof(s1));
s1[sizeof(s1) - 1] = 0;
Serial.printf("STATUS(%s) '%d' = '%s'\n", ptr, code, s1);
Serial.flush();
}
void setup()
{
Serial.begin(115200);
delay(1000);
Serial.println("Connecting to WiFi");
WiFi.disconnect();
WiFi.softAPdisconnect(true);
WiFi.mode(WIFI_STA);
WiFi.setPhyMode(WIFI_PHY_MODE_11B);
WiFi.begin(SSID, PASSWORD);
// Try forever
while (WiFi.status() != WL_CONNECTED) {
Serial.println("...Connecting to WiFi");
delay(1000);
}
Serial.println("Connected");
audioLogger = &Serial;
initA();
}
void loop()
{
static int lastms = 0;
if (mp3->isRunning()) {
if (millis() - lastms > 1000) {
lastms = millis();
Serial.printf("Running for %d ms...\n", lastms);
Serial.flush();
}
if (!mp3->loop()) mp3->stop();
} else {
Serial.printf("MP3 done\n");
delay(1000);
initA();
}
}