summaryrefslogtreecommitdiffstats
path: root/src/modules/module-pipe-sink.c
Commit message (Collapse)AuthorAgeFilesLines
* minor fixupLennart Poettering2007-10-221-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1943 fefdeb5f-60dc-0310-8127-8f9354f1896f
* add missing poll.h inclusionLennart Poettering2007-10-071-14/+15
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1938 fefdeb5f-60dc-0310-8127-8f9354f1896f
* make O_CLOEXEC, O_NONBLOCK and socket low latency fd ops more uniform: ↵Lennart Poettering2007-09-191-2/+2
| | | | | | always return void, name them similarly, only pass a single fd git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1867 fefdeb5f-60dc-0310-8127-8f9354f1896f
* simplify rt loops a bit by moving more code into pa_rtpoll. It is now ↵Lennart Poettering2007-09-141-19/+9
| | | | | | 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
* extend rtpoll API to allow registration of arbitray functions to be executed ↵Lennart Poettering2007-09-121-2/+2
| | | | | | in the event loop. Add priority system for specifying the order of these functions. git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1816 fefdeb5f-60dc-0310-8127-8f9354f1896f
* consolidate close() calls to pa_close(), and make sure on every occasion ↵Lennart Poettering2007-09-121-1/+1
| | | | | | that we handle failures of close() sensibly git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1811 fefdeb5f-60dc-0310-8127-8f9354f1896f
* add 'wait' parameter to pa_rtpoll_run(), if zero pa_rtpoll_runn will only ↵Lennart Poettering2007-09-111-1/+1
| | | | | | update the struct pollfd but not wait for an event git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1803 fefdeb5f-60dc-0310-8127-8f9354f1896f
* TIOCINQ isn't present on all systems.Pierre Ossman2007-09-101-1/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1781 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Lots of assorted minor cleanups and fixes:Lennart Poettering2007-08-301-21/+18
| | | | | | | | | | | | | | | | | | * 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
* port remaining sinks to pa_rtpollLennart Poettering2007-08-221-51/+42
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1705 fefdeb5f-60dc-0310-8127-8f9354f1896f
* make use of pa_thread_mq everywhereLennart Poettering2007-08-101-15/+16
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1624 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * drop redundant pa_core argument from module initialization functionsLennart Poettering2007-08-101-8/+6
| | | | | | | | | | | | * make pa__done() implementations optional * a couple of modernizations * wrap lt_dlsym() at a single place * allow passing of an "api" argument to the HAL module, to choose whether OSS devices or ALSA devices should be picked up * optimize fd closing a little on linux in the forked gconf helper * save a little memory in the xsmp module git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1615 fefdeb5f-60dc-0310-8127-8f9354f1896f
* A lot of updates, all necessary to get the native protocol ported:Lennart Poettering2007-07-311-6/+7
| | | | | | | | | | | | | * 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
* Properly initialize all revents on EINTRLennart Poettering2007-07-121-1/+4
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1508 fefdeb5f-60dc-0310-8127-8f9354f1896f
* don't handle underrun specialLennart Poettering2007-06-231-32/+27
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1489 fefdeb5f-60dc-0310-8127-8f9354f1896f
* trivial cleanupsLennart Poettering2007-06-141-4/+7
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1475 fefdeb5f-60dc-0310-8127-8f9354f1896f
* A lot of more work to get the lock-free stuff in placeLennart Poettering2007-06-131-92/+96
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1474 fefdeb5f-60dc-0310-8127-8f9354f1896f
* make eolspaceLennart Poettering2007-06-111-15/+15
| | | | 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-97/+192
| | | | | | 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-18/+18
| | | | | | | mmmkay? git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Revert r1404 and keep it on a development branch until it is fully tested.Pierre Ossman2006-11-061-9/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1409 fefdeb5f-60dc-0310-8127-8f9354f1896f
* rework memory block management to be thread-safe and mostly lock-free.Lennart Poettering2006-09-261-2/+9
| | | | | | | | | | | | | | | | | | | | | pa_memblock is now an opaque structure. Access to its fields is now done through various accessor functions in a thread-safe manner. pa_memblock_acquire() and pa_memblock_release() are now used to access the attached audio data. Why? To allow safe manipulation of the memory pointer maintained by the memory block. Internally _acquire() and _release() maintain a reference counter. Please do not confuse this reference counter whith the one maintained by pa_memblock_ref()/_unref()! As a side effect this patch removes all direct usages of AO_t and replaces it with pa_atomic_xxx based code. This stuff needs some serious testing love. Especially if threads are actively used. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1404 fefdeb5f-60dc-0310-8127-8f9354f1896f
* remove all occurences of Lennart Poettering2006-08-181-7/+7
| | | | | | | | | | | | pa_logXXX(__FILE__": and replace them by pa_logXXX(" git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1272 fefdeb5f-60dc-0310-8127-8f9354f1896f
* make use of pa_sink_used_by()/pa_source_used_by() wherever applicableLennart Poettering2006-08-121-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1227 fefdeb5f-60dc-0310-8127-8f9354f1896f
* don't set the sink/source descriptions manually, use the new functions ↵Lennart Poettering2006-08-111-2/+4
| | | | | | pa_{sink,source}_set_description() instead git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1205 fefdeb5f-60dc-0310-8127-8f9354f1896f
* big s/polyp/pulse/gLennart Poettering2006-06-191-12/+12
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1033 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * split pa_cstrerror() into its own file polypcore/core-error.[ch]Lennart Poettering2006-05-251-1/+1
| | | | | | | | * fix building of padsp * remove a warning when compiling padsp.c git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@972 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Wrap strerror() in a function that makes it thread safe and converts thePierre Ossman2006-05-221-3/+4
| | | | | | | output to UTF-8. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@945 fefdeb5f-60dc-0310-8127-8f9354f1896f
* split polypcore/util.[ch] into polypcore/core-util.[ch] and polyp/util.[ch]Lennart Poettering2006-05-171-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@917 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Move xmalloc to the public side (libpolyp).Pierre Ossman2006-05-171-1/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@908 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * modify pa_channel_map_init_auto() to take an extra argument specifying the ↵Lennart Poettering2006-05-161-1/+1
| | | | | | | | | standard to use (ALSA, AIFF, ...) * add some more validity checks to pa_source_new(),pa_sink_new(),pa_sink_input_new(),pa_source_output_new() git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@888 fefdeb5f-60dc-0310-8127-8f9354f1896f
* support new channel_map argument in sink/source modulesLennart Poettering2006-04-261-3/+11
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@803 fefdeb5f-60dc-0310-8127-8f9354f1896f
* change pa_log() and friends to not require a trailing \n on all logged stringsLennart Poettering2006-02-231-7/+7
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@574 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Reorganised the source tree. We now have src/ with a couple of subdirs:Pierre Ossman2006-02-161-0/+237
* daemon/ - Contains the files specific to the polypaudio daemon. * modules/ - All loadable modules. * polyp/ - Files that are part of the public, application interface or are only used in libpolyp. * polypcore/ - All other shared files. * tests/ - Test programs. * utils/ - Utility programs. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@487 fefdeb5f-60dc-0310-8127-8f9354f1896f