Work on event loop

Make a new epoll based event loop and use it for the data tranport.
Simplify the spa event api a little and rename to SpaLoop
This commit is contained in:
Wim Taymans 2016-11-18 17:46:01 +01:00
parent 0d2fa5ebc8
commit ae93f15965
33 changed files with 1286 additions and 954 deletions

View file

@ -24,7 +24,7 @@
extern "C" {
#endif
#include <spa/include/spa/poll.h>
#include <pinos/client/loop.h>
typedef struct _PinosDataLoop PinosDataLoop;
@ -34,12 +34,18 @@ typedef struct _PinosDataLoop PinosDataLoop;
* Pinos rt-loop object.
*/
struct _PinosDataLoop {
SpaPoll poll;
PinosLoop *loop;
PINOS_SIGNAL (destroy_signal, (PinosListener *listener,
PinosDataLoop *loop));
};
PinosDataLoop * pinos_data_loop_new (void);
void pinos_data_loop_destroy (PinosDataLoop *loop);
SpaResult pinos_data_loop_start (PinosDataLoop *loop);
SpaResult pinos_data_loop_stop (PinosDataLoop *loop);
bool pinos_data_loop_in_thread (PinosDataLoop *loop);
#ifdef __cplusplus