mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
More hacking
Add beginnings of Xv plugin Add Poll event Clean up props handling V4l2 add beginnings of poll event
This commit is contained in:
parent
a1a27328e2
commit
a31eb56663
14 changed files with 842 additions and 79 deletions
62
spa/plugins/xv/xv-utils.c
Normal file
62
spa/plugins/xv/xv-utils.c
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <sched.h>
|
||||
#include <errno.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/mman.h>
|
||||
#include <poll.h>
|
||||
|
||||
#define CLEAR(x) memset(&(x), 0, sizeof(x))
|
||||
|
||||
static int
|
||||
spa_xv_open (SpaXvSink *this)
|
||||
{
|
||||
SpaXvState *state = &this->state;
|
||||
|
||||
if (state->opened)
|
||||
return 0;
|
||||
|
||||
state->opened = true;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
spa_xv_set_format (SpaXvSink *this, SpaFormat *format, bool try_only)
|
||||
{
|
||||
if (spa_xv_open (this) < 0)
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
spa_xv_close (SpaXvSink *this)
|
||||
{
|
||||
SpaXvState *state = &this->state;
|
||||
|
||||
if (!state->opened)
|
||||
return 0;
|
||||
|
||||
state->opened = false;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
spa_xv_start (SpaXvSink *this)
|
||||
{
|
||||
if (spa_xv_open (this) < 0)
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
spa_xv_stop (SpaXvSink *this)
|
||||
{
|
||||
spa_xv_close (this);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue