Esempio n. 1
0
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;
}
Esempio n. 2
0
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();
}