TPtrC8 CSocketEngine::GetHttpHeaderInfo(const TDesC8 &aHeaderData,const TDesC8 &aHeaderInfo){ _LIT8(KEnter,"\r\n"); TBuf8<256> bufInfo(aHeaderInfo); bufInfo.Append(_L8(": ")); TPtrC8 ret; TPtrC8 ptr; ptr.Set(aHeaderData); TInt pos=ptr.FindF(bufInfo); if(pos>0){ TInt start=pos+bufInfo.Length(); ptr.Set(ptr.Mid(start)); pos=ptr.FindF(KEnter); if(pos>0){ ptr.Set(ptr.Left(pos)); ret.Set(ptr); }else if(-1==pos){ pos=ptr.FindF(_L8("\n")); if(pos>0){ ptr.Set(ptr.Left(pos)); ret.Set(ptr); } } } return ret; }
IAudioBuffer *FileReader::get(unsigned long pos, unsigned int length) noexcept{ std::lock_guard<std::recursive_mutex> lock(mMutex); AudioInfo bufInfo(mAudioInfo); bufInfo.setOffset(pos); bufInfo.setSamples(length); AudioBuffer *buf = new AudioBuffer(bufInfo); sf_seek(mFile, pos, SEEK_SET); long long len = sf_read_float(mFile, buf->getRaw(), buf->getInfo()->getSamples() * buf->getInfo()->getChannels()); if(len <= 0){ //error } return buf; }