Remove monitor poll and hook in mainloop

Provide a mainloop SpaPoll and let the monitors hook into it.
This commit is contained in:
Wim Taymans 2016-10-07 18:19:03 +02:00
parent 2905d91467
commit 50c3b40cd0
8 changed files with 133 additions and 149 deletions

View file

@ -65,18 +65,12 @@ typedef struct {
* @SPA_MONITOR_EVENT_TYPE_ADDED: an item was added, data points to #SpaMonitorItem
* @SPA_MONITOR_EVENT_TYPE_REMOVED: an item was removed, data points to #SpaMonitorItem
* @SPA_MONITOR_EVENT_TYPE_CHANGED: an item was changed, data points to #SpaMonitorItem
* @SPA_MONITOR_EVENT_TYPE_ADD_POLL: add fd for polling, data points to #SpaPollItem
* @SPA_MONITOR_EVENT_TYPE_UPDATE_POLL: update fd for polling, data points to #SpaPollItem
* @SPA_MONITOR_EVENT_TYPE_REMOVE_POLL: remov fd for polling, data points to #SpaPollItem
*/
typedef enum {
SPA_MONITOR_EVENT_TYPE_INVALID = 0,
SPA_MONITOR_EVENT_TYPE_ADDED,
SPA_MONITOR_EVENT_TYPE_REMOVED,
SPA_MONITOR_EVENT_TYPE_CHANGED,
SPA_MONITOR_EVENT_TYPE_ADD_POLL,
SPA_MONITOR_EVENT_TYPE_UPDATE_POLL,
SPA_MONITOR_EVENT_TYPE_REMOVE_POLL,
} SpaMonitorEventType;
typedef struct {

View file

@ -41,6 +41,7 @@ typedef struct _SpaNodeEvent SpaNodeEvent;
#define SPA_NODE_EVENT__Marker SPA_NODE_EVENT_PREFIX "Marker"
#define SPA_NODE_EVENT__Error SPA_NODE_EVENT_PREFIX "Error"
#define SPA_NODE_EVENT__Buffering SPA_NODE_EVENT_PREFIX "Buffering"
#define SPA_NODE_EVENT__RequestRefresh SPA_NODE_EVENT_PREFIX "RequestRefresh"
#define SPA_NODE_EVENT__RequestClockUpdate SPA_NODE_EVENT_PREFIX "RequestClockUpdate"
/**
@ -82,10 +83,6 @@ typedef struct {
SpaResult res;
} SpaNodeEventAsyncComplete;
typedef struct {
SpaNodeState state;
} SpaNodeEventStateChange;
typedef struct {
uint32_t port_id;
} SpaNodeEventHaveOutput;