simplify rt loops a bit by moving more code into pa_rtpoll. It is now possible to attach "work" functions to a pa_rtpoll_item, which will be called in each loop iteration. This allows us to hide the message processing in the RT loops and to drop the seperate sink_input->process hooks. Basically, only the driver-specific code remains in the RT loops.

git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1822 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
Lennart Poettering 2007-09-14 21:51:05 +00:00
parent f0b9dce32e
commit 3396b65f15
19 changed files with 182 additions and 272 deletions

View file

@ -90,13 +90,6 @@ struct pa_sink_input {
* peek(), but not necessarily. Called from IO thread context. */
void (*drop) (pa_sink_input *i, size_t length);
/* If non-NULL this function is called in each IO event loop and
* can be used to do additional processing even when the device is
* suspended and peek() is never called. Should return 1 when
* "some work" has been done and the IO event loop should be
* reiterated immediately. Called from IO thread context. */
int (*process) (pa_sink_input *i); /* may be NULL */
/* If non-NULL this function is called when the input is first
* connected to a sink. Called from IO thread context */
void (*attach) (pa_sink_input *i); /* may be NULL */