mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
v4l2: small cleanups
This commit is contained in:
parent
b75d9786d4
commit
140f360cc0
1 changed files with 5 additions and 10 deletions
|
|
@ -94,20 +94,14 @@ spa_v4l2_clear_buffers (SpaV4l2Source *this)
|
||||||
|
|
||||||
for (i = 0; i < state->reqbuf.count; i++) {
|
for (i = 0; i < state->reqbuf.count; i++) {
|
||||||
V4l2Buffer *b;
|
V4l2Buffer *b;
|
||||||
SpaMemory *mem;
|
|
||||||
|
|
||||||
b = &state->alloc_buffers[i];
|
b = &state->alloc_buffers[i];
|
||||||
if (b->outstanding) {
|
if (b->outstanding) {
|
||||||
fprintf (stderr, "queueing outstanding buffer %p\n", b);
|
fprintf (stderr, "queueing outstanding buffer %p\n", b);
|
||||||
spa_v4l2_buffer_recycle (this, i);
|
spa_v4l2_buffer_recycle (this, i);
|
||||||
}
|
}
|
||||||
mem = spa_memory_find (&b->datas[0].mem.mem);
|
if (b->buffer.n_datas > 0)
|
||||||
if (state->export_buf) {
|
spa_memory_unref (&b->datas[0].mem.mem);
|
||||||
close (mem->fd);
|
|
||||||
} else {
|
|
||||||
munmap (mem->ptr, mem->size);
|
|
||||||
}
|
|
||||||
spa_memory_unref (&mem->mem);
|
|
||||||
}
|
}
|
||||||
if (state->alloc_mem)
|
if (state->alloc_mem)
|
||||||
spa_memory_unref (&state->alloc_mem->mem);
|
spa_memory_unref (&state->alloc_mem->mem);
|
||||||
|
|
@ -825,7 +819,6 @@ mmap_read (SpaV4l2Source *this)
|
||||||
case EIO:
|
case EIO:
|
||||||
default:
|
default:
|
||||||
perror ("VIDIOC_DQBUF");
|
perror ("VIDIOC_DQBUF");
|
||||||
usleep (50 * 1000);
|
|
||||||
return SPA_RESULT_ERROR;
|
return SPA_RESULT_ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -920,11 +913,14 @@ spa_v4l2_use_buffers (SpaV4l2Source *this, SpaBuffer **buffers, uint32_t n_buffe
|
||||||
b->buffer.mem.offset = sizeof (V4l2Buffer) * i;
|
b->buffer.mem.offset = sizeof (V4l2Buffer) * i;
|
||||||
b->buffer.mem.size = sizeof (V4l2Buffer);
|
b->buffer.mem.size = sizeof (V4l2Buffer);
|
||||||
b->buffer.id = SPA_ID_INVALID;
|
b->buffer.id = SPA_ID_INVALID;
|
||||||
|
b->buffer.n_metas = 0;
|
||||||
|
b->buffer.n_datas = 0;
|
||||||
b->outbuf = buffers[i];
|
b->outbuf = buffers[i];
|
||||||
b->outstanding = true;
|
b->outstanding = true;
|
||||||
|
|
||||||
fprintf (stderr, "import buffer %p\n", buffers[i]);
|
fprintf (stderr, "import buffer %p\n", buffers[i]);
|
||||||
|
|
||||||
|
d = SPA_BUFFER_DATAS (buffers[i]);
|
||||||
mem_ref = &d[0].mem.mem;
|
mem_ref = &d[0].mem.mem;
|
||||||
if (!(mem = spa_memory_find (mem_ref))) {
|
if (!(mem = spa_memory_find (mem_ref))) {
|
||||||
fprintf (stderr, "invalid memory on buffer %p\n", buffers[i]);
|
fprintf (stderr, "invalid memory on buffer %p\n", buffers[i]);
|
||||||
|
|
@ -935,7 +931,6 @@ spa_v4l2_use_buffers (SpaV4l2Source *this, SpaBuffer **buffers, uint32_t n_buffe
|
||||||
fprintf (stderr, "invalid memory on buffer %p\n", buffers[i]);
|
fprintf (stderr, "invalid memory on buffer %p\n", buffers[i]);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
d = SPA_BUFFER_DATAS (buffers[i]);
|
|
||||||
|
|
||||||
CLEAR (b->v4l2_buffer);
|
CLEAR (b->v4l2_buffer);
|
||||||
b->v4l2_buffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
b->v4l2_buffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue