// we got (http) metadata. void eMP3Decoder::metaDataUpdated(eString meta) { { singleLock s(lock); // must protect access on metadata array eString streamTitle, streamUrl; if (meta.left(6) == "Stream") while (!meta.empty()) { unsigned int eq=meta.find('='); if (eq == eString::npos) break; eString left=meta.left(eq); meta=meta.mid(eq+1); // skip until = eq=meta.find(';'); if (eq == eString::npos) break; eString right=meta.left(eq); meta=meta.mid(eq+1); if (left=="StreamTitle") streamTitle=right; else if (left == "StreamUrl") streamUrl=right; else eDebug("unknown tag: %s = %s", left.c_str(), right.c_str()); } else streamTitle=meta; metadata[0]=streamTitle; metadata[1]=streamUrl; } handler->messages.send(eServiceHandlerMP3::eMP3DecoderMessage(eServiceHandlerMP3::eMP3DecoderMessage::infoUpdated)); }