Don't allow invalid sample format

This commit is contained in:
Nevyn Bengtsson 2021-01-13 13:10:28 +01:00 committed by Bjorn
parent 9ba8638028
commit a7b0780bfc
1 changed files with 4 additions and 2 deletions

View File

@ -91,13 +91,14 @@ static uint32_t lovrSoundDataReadRing(SoundData* soundData, uint32_t offset, uin
SoundData* lovrSoundDataCreateRaw(uint32_t frameCount, uint32_t channelCount, uint32_t sampleRate, SampleFormat format, struct Blob* blob) {
lovrAssert(format != SAMPLE_INVALID, "Invalid format");
SoundData* soundData = lovrAlloc(SoundData);
soundData->format = format;
soundData->sampleRate = sampleRate;
soundData->channels = channelCount;
soundData->frames = frameCount;
soundData->read = lovrSoundDataReadRaw;
if (blob) {
soundData->blob = blob;
lovrRetain(blob);
@ -112,6 +113,7 @@ SoundData* lovrSoundDataCreateRaw(uint32_t frameCount, uint32_t channelCount, ui
}
SoundData* lovrSoundDataCreateStream(uint32_t bufferSizeInFrames, uint32_t channels, uint32_t sampleRate, SampleFormat format) {
lovrAssert(format != SAMPLE_INVALID, "Invalid format");
SoundData* soundData = lovrAlloc(SoundData);
soundData->format = format;
soundData->sampleRate = sampleRate;
@ -181,7 +183,7 @@ size_t lovrSoundDataStreamAppendBuffer(SoundData *dest, const void *buf, size_t
if (availableFrames == 0) {
return framesAppended;
}
frameCount -= availableFrames;
blobOffset += availableFrames * bytesPerFrame;
framesAppended += availableFrames;