mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
parent
876a5977f3
commit
24ba3f4d92
1 changed files with 6 additions and 5 deletions
|
|
@ -162,11 +162,12 @@ static void capture_process(void *data)
|
||||||
|
|
||||||
for (i = 0; i < in->buffer->n_datas; i++) {
|
for (i = 0; i < in->buffer->n_datas; i++) {
|
||||||
d = &in->buffer->datas[i];
|
d = &in->buffer->datas[i];
|
||||||
size = d->chunk->size;
|
|
||||||
offset = d->chunk->offset;
|
offset = SPA_MIN(d->chunk->offset, d->maxsize);
|
||||||
|
size = SPA_MIN(d->maxsize - offset, d->chunk->size);
|
||||||
|
|
||||||
while (size > 0) {
|
while (size > 0) {
|
||||||
memset(&frame, 0, sizeof(frame));
|
spa_zero(frame);
|
||||||
|
|
||||||
frame.samples = SPA_MEMBER(d->data, offset, void);
|
frame.samples = SPA_MEMBER(d->data, offset, void);
|
||||||
frame.samples_size = size;
|
frame.samples_size = size;
|
||||||
|
|
@ -176,8 +177,8 @@ static void capture_process(void *data)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
offset += size;
|
offset += frame.samples_size;
|
||||||
size -= size;
|
size -= frame.samples_size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pw_stream_queue_buffer(impl->capture, in);
|
pw_stream_queue_buffer(impl->capture, in);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue