int CetonRTP::Read(char *buffer, int bufferSize) { ProcessIncomingData(); int count =_mpegBuffer.size(); if (count > bufferSize) count = bufferSize; char* data = _mpegBuffer.data(); memcpy(buffer, data, count); _mpegBuffer.remove(0, count); return count; }
void Socket::OnReadComplete(const boost::system::error_code& error, size_t bytes_transferred) { if (error) { OnError(error); return; } if (bytes_transferred > 0) { read_buffer_->Commit(bytes_transferred); if (!ProcessIncomingData()) { CloseSocket(); return; } } StartAsyncRead(); }