mirror of
https://github.com/clangen/musikcube.git
synced 2024-10-02 04:52:32 +00:00
Fix pointer arithmetic
This commit is contained in:
parent
8172cac91f
commit
aa7efd3d5b
@ -71,7 +71,7 @@ void PipeWireOut::OnStreamProcess(void* data) {
|
|||||||
|
|
||||||
struct spa_buffer* spaBuffer = pwBuffer->buffer;
|
struct spa_buffer* spaBuffer = pwBuffer->buffer;
|
||||||
auto& outBufferData = spaBuffer->datas[0];
|
auto& outBufferData = spaBuffer->datas[0];
|
||||||
void* outBufferPtr = outBufferData.data;
|
char* outBufferPtr = (char*) outBufferData.data;
|
||||||
uint32_t outBufferRemaining = outBufferData.maxsize;
|
uint32_t outBufferRemaining = outBufferData.maxsize;
|
||||||
int channelCount = 2;
|
int channelCount = 2;
|
||||||
|
|
||||||
@ -82,7 +82,7 @@ void PipeWireOut::OnStreamProcess(void* data) {
|
|||||||
BufferContext* inputBufferContext = nullptr;
|
BufferContext* inputBufferContext = nullptr;
|
||||||
uint32_t inBufferSize = 0;
|
uint32_t inBufferSize = 0;
|
||||||
uint32_t inBufferRemaining = 0;
|
uint32_t inBufferRemaining = 0;
|
||||||
void* inBufferPtr;
|
char* inBufferPtr;
|
||||||
uint32_t bytesToCopy = 0;
|
uint32_t bytesToCopy = 0;
|
||||||
|
|
||||||
std::cerr << "[PipeWire] " << outBufferRemaining << " bytes still need to be filled...\n";
|
std::cerr << "[PipeWire] " << outBufferRemaining << " bytes still need to be filled...\n";
|
||||||
@ -103,7 +103,7 @@ void PipeWireOut::OnStreamProcess(void* data) {
|
|||||||
channelCount = inputBufferContext->buffer->Channels();
|
channelCount = inputBufferContext->buffer->Channels();
|
||||||
inBufferSize = (uint32_t) inputBufferContext->buffer->Bytes();
|
inBufferSize = (uint32_t) inputBufferContext->buffer->Bytes();
|
||||||
inBufferRemaining = inputBufferContext->remaining;
|
inBufferRemaining = inputBufferContext->remaining;
|
||||||
inBufferPtr = inputBufferContext->buffer->BufferPointer();
|
inBufferPtr = (char*) inputBufferContext->buffer->BufferPointer();
|
||||||
|
|
||||||
if (outBufferRemaining >= inBufferRemaining) {
|
if (outBufferRemaining >= inBufferRemaining) {
|
||||||
self->buffers.pop_front();
|
self->buffers.pop_front();
|
||||||
@ -133,7 +133,7 @@ void PipeWireOut::OnStreamProcess(void* data) {
|
|||||||
outBufferData.chunk->offset = 0;
|
outBufferData.chunk->offset = 0;
|
||||||
outBufferData.chunk->stride = frameSize;
|
outBufferData.chunk->stride = frameSize;
|
||||||
outBufferData.chunk->size = outBufferData.maxsize;
|
outBufferData.chunk->size = outBufferData.maxsize;
|
||||||
pwBuffer->size = outBufferData.maxsize;
|
pwBuffer->size = outBufferData.maxsize / frameSize;
|
||||||
|
|
||||||
pw_stream_queue_buffer(self->pwStream, pwBuffer);
|
pw_stream_queue_buffer(self->pwStream, pwBuffer);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user