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:
Wim Taymans 2016-07-07 09:30:18 +02:00
parent a1a27328e2
commit a31eb56663
14 changed files with 842 additions and 79 deletions

62
spa/plugins/xv/xv-utils.c Normal file
View 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;
}