summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/source-output.h
Commit message (Collapse)AuthorAgeFilesLines
* maintain the attach status in a boolean variable 'attach' accessible from ↵Lennart Poettering2007-09-201-0/+2
| | | | | | the IO thread for sink_inputs/source_outputs git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1872 fefdeb5f-60dc-0310-8127-8f9354f1896f
* add proper boolean type pa_bool_tLennart Poettering2007-09-161-4/+4
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1836 fefdeb5f-60dc-0310-8127-8f9354f1896f
* simplify rt loops a bit by moving more code into pa_rtpoll. It is now ↵Lennart Poettering2007-09-141-7/+0
| | | | | | 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
* Lots of assorted minor cleanups and fixes:Lennart Poettering2007-08-301-5/+39
| | | | | | | | | | | | | | | | | | * s/disconnect/unlink/ at many places where it makes sense * make "start_corked" a normal pa_sink_input/pa_source_output flag instead of a seperate boolean variable * add generic process() function to pa_sink_input/pa_source_output vtable that can be used by streams to do some arbitrary processing in each rt loop iteration even the sink/source is suspended * add detach()/attach() functions to pa_sink_input/pa_source_output vtable that are called when ever the rtpoll object of the event thread changes * add suspend() functions to pa_sink_input/pa_source_output vtable which are called whenever the sink/source they are attached to suspends/resumes * add PA_SINK_INIT/PA_SOURCE_INIT/PA_SINK_INPUT_INIT/PA_SINK_OUTPUT_INIT states to state machines which is active between _new() and _put() * seperate _put() from _new() for pa_sink/pa_source * add PA_SOURCE_OUTPUT_DONT_MOVE/PA_SINK_INPUT_DONT_MOVE flags * make the pa_rtpoll object a property of pa_sink/pa_source to allow streams attached to them make use of it * fix skipping over move_silence * update module-pipe-source to make use of pa_rtpoll * add pa_sink_skip() as optimization in cases where the actualy data returned by pa_sink_render() doesn't matter git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1733 fefdeb5f-60dc-0310-8127-8f9354f1896f
* use single array for storing pa_core hook lists, add sink state changed ↵Lennart Poettering2007-08-111-2/+1
| | | | | | hook, drop NO_HOOKS flags for sink inputs/source outputs, listen for resume events in module-suspend-on-idle.c git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1640 fefdeb5f-60dc-0310-8127-8f9354f1896f
* rename pa_source_output_new_data::corked to start_corked to match ↵Lennart Poettering2007-07-311-1/+1
| | | | | | pa_sink_input_new_data::start_corked git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1563 fefdeb5f-60dc-0310-8127-8f9354f1896f
* A lot of updates, all necessary to get the native protocol ported:Lennart Poettering2007-07-311-1/+3
| | | | | | | | | | | | | * add an int64_t argument to pa_asyncmsgq because it is very difficult to pass 64 values otherwise * simplify subclassing in pa_object * s/drop/unlink/ at some places * port the native protocol to the lock-free core (not tested, compiles fine) * move synchronisation of playback streams into pa_sink_input * add "start_corked" field to pa_sink_input_new_data * allow casting of NULL values in pa_object git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1562 fefdeb5f-60dc-0310-8127-8f9354f1896f
* rework sink input/source output state machineLennart Poettering2007-06-141-3/+5
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1478 fefdeb5f-60dc-0310-8127-8f9354f1896f
* A lot of more work to get the lock-free stuff in placeLennart Poettering2007-06-131-2/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1474 fefdeb5f-60dc-0310-8127-8f9354f1896f
* make eolspaceLennart Poettering2007-06-111-3/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1470 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Merge HUGE set of changes temporarily into a branch, to allow me to move ↵Lennart Poettering2007-06-111-16/+43
| | | | | | them from one machine to another (lock-free and stuff) git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1469 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add copyright notices to all relevant files. (based on svn log)Pierre Ossman2007-02-131-0/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1426 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Huge trailing whitespace cleanup. Let's keep the tree pure from here on,Pierre Ossman2007-01-041-6/+6
| | | | | | | mmmkay? git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f
* implement hook_source_ouput_new. For this I modified the ↵Lennart Poettering2006-08-131-7/+28
| | | | | | pa_source_output_new constructor to take a struct similar to what I already did for pa_sink_input_new() git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1250 fefdeb5f-60dc-0310-8127-8f9354f1896f
* comment which values in pa_{sink,source,sink_input,source_output} structures ↵Lennart Poettering2006-08-111-6/+6
| | | | | | may be NULL git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1204 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Implement pa_source_input_move_to() for moving record streams between sourcesLennart Poettering2006-08-031-0/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1181 fefdeb5f-60dc-0310-8127-8f9354f1896f
* big s/polyp/pulse/gLennart Poettering2006-06-191-0/+92
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1033 fefdeb5f-60dc-0310-8127-8f9354f1896f