snapcast/chunk.cpp
(no author) 130d7c5643 xxx
git-svn-id: svn://elaine/murooma/trunk@135 d8a302eb-03bc-478d-80e4-98257eca68ef
2014-08-04 06:44:22 +00:00

35 lines
507 B
C++

#include "chunk.h"
#include <string.h>
Chunk::Chunk(WireChunk* _wireChunk) : idx(0), wireChunk(_wireChunk)
{
}
Chunk::~Chunk()
{
delete wireChunk;
}
bool Chunk::isEndOfChunk()
{
return idx >= WIRE_CHUNK_SIZE;
}
int Chunk::read(short* _outputBuffer, int _count)
{
int result = _count;
if (idx + _count > WIRE_CHUNK_SIZE)
result = WIRE_CHUNK_SIZE - idx;
if (_outputBuffer != NULL)
memcpy(_outputBuffer, &wireChunk->payload[idx], sizeof(int16_t)*result);
idx += result;
return result;
}