summaryrefslogtreecommitdiffstats
path: root/src/pulse/internal.h
Commit message (Collapse)AuthorAgeFilesLines
* device-restore: Add a new protocol extension for device-restore.Colin Guthrie2011-06-221-0/+6
| | | | | | This simply exposes the formats that a device supports via a simple protocol extension that will allow clients to setup what a connected receiver supports format wise.
* format: Extend properties to handle lists/rangesArun Raghavan2011-05-151-0/+2
| | | | | | | | | | | | | This replaces the simple string used by pa_format_info's proplist with a JSON string (accessed via new API only). This allows us to express lists and ranges more cleanly, and embed type information for future extensibility. We use json-c for JSON parsing. This is a lightweight depdency (32 KB on my system) and avoids the hassle of having to reinvent a JSON parser. Also included is a test which verifies functionality and is valgrind-clean.
* format: Export pa_format_info_is_compatible in APIArun Raghavan2011-05-151-1/+0
| | | | This allows clients to perform checks between formats as well.
* format: Avoid some code duplicationArun Raghavan2011-05-021-0/+1
| | | | | | We frequently need to free an idxset containing pa_format_infos, so define an internal free function that can be used directly with this (instead of defining it once-per-file).
* sink-input: Don't assert on bad formatsArun Raghavan2011-05-021-2/+2
| | | | Handles bad format input more gracefully and returns an error instead.
* core: Add extended stream API to support compressed formatsArun Raghavan2011-05-021-0/+5
| | | | | | | | | | | | | | | This is the beginning of work to support compressed formats natively in PulseAudio. This adds a pa_stream_new_extended() that takes a format structure, sends it to the server (=> protocol extension) and has the server negotiate with the appropropriate sink to figure out what format it should use. This is work in progress, and works only with PCM streams. Actual compressed format support in some sink needs to be implemented, and extensive testing is required. More details on how this is supposed to work is available at: http://pulseaudio.org/wiki/PassthroughSupport
* format: Add some properties and internal APIArun Raghavan2011-05-021-0/+5
| | | | | The properties will be used by clients to set the sample format, sampling rate, etc. The functions will be used internally.
* dbus: remove filter functions only if they were actually set beforeLennart Poettering2010-02-091-0/+1
| | | | | | | This fixes an assert when destructing modules that have not been fully initialized. https://bugzilla.redhat.com/show_bug.cgi?id=548525
* libpulse: Store pa_stream pointers to hashmaps instead of dynarrays.Tanu Kaskinen2009-12-031-2/+1
| | | | | | | | | Since the stream identifiers (channels) are monotonically growing integer, it isn't a good idea to use them as index to a dynamic array, because the array will grow all the time. This is not a problem with client connections that don't create many streams, but, for example, long-running clients that use libcanberra for playing event sounds, this means that the client connection effectively leaks memory.
* device-manager: Add an untested protocol extension.Colin Guthrie2009-10-011-0/+6
| | | | This is effectively copied from the stream restore extension.
* client: allow zero-copy writing to the streamLennart Poettering2009-07-201-0/+5
|
* rtclock: enable rtclock for our own mainloop implementationsLennart Poettering2009-06-221-0/+2
|
* Base mainloop on pa_rtclock_now()Marc-André Lureau2009-06-201-0/+1
| | | | | | | | | | | | | | | | Move the mainloop to monotonic based time events. Introduces 4 helper functions: pa_{context,core}_rttime_{new,restart}(), that fill correctly a timeval with the rtclock flag set if the mainloop supports it. Both mainloop-test and mainloop-test-glib works with rt and timeval based time events. PulseAudio and clients should be fully functional. This patch has received several iterations, and this one as been largely untested. Signed-off-by: Marc-André Lureau <marca-andre.lureau@nokia.com>
* make dbus optional during buildFinn Thain2009-04-101-0/+4
| | | | | | | | | | | | | | | | | | | | | On Tue, 31 Mar 2009, Lennart Poettering wrote: [snip] > > I have now merged your patch. I had to change a few things to make it > apply cleanly. Since I have no access to Solaris I am unable to test > this though, so please check if things still work for you. > > I also worked around the realpath() issue mostly. It should work fine on > Solaris now, as well. Thanks. 0.9.15-test7 seems to work fine. The only new issue is that configure --without-dbus no longer builds. I don't need dbus for my purposes (network audio server) and it seems that dbus is not included with Solaris. A patch for this follows. Finn
* Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudioLennart Poettering2009-04-051-1/+1
|\
| * various spelling fixesMaarten Bosmans2009-04-041-1/+1
| |
* | properly account for seeks in the requested_bytes counterLennart Poettering2009-04-011-1/+1
|/
* increase timing update interval exponentiallyLennart Poettering2009-04-011-0/+1
|
* allow nofail mode only when no server string was specifiedLennart Poettering2009-03-301-2/+2
|
* Merge commit 'elmarco/dbus'Lennart Poettering2009-03-301-0/+5
|\
| * pulse: client connect to dbusMarc-André Lureau2009-03-301-0/+5
| |
* | notify clients about tlength changesLennart Poettering2009-03-301-0/+3
|/
* Use LGPL 2.1 on all files previously using LGPL 2Colin Guthrie2009-03-031-1/+1
|
* allow sending meta/policy events to clientsLennart Poettering2009-02-121-0/+7
|
* kill autoload stuff as plannedLennart Poettering2009-01-151-10/+27
|
* rework autospawning to allow to multiple parallel autospawning contextsLennart Poettering2008-09-051-3/+0
|
* add a few more gcc warning flags and fix quite a few problems found by doing soLennart Poettering2008-08-191-1/+1
|
* rework autospawning code to survive multiple pa_contexts in a single processLennart Poettering2008-08-091-2/+5
|
* wrap protocol extension of module-stream-restoreLennart Poettering2008-08-041-0/+9
|
* get rid of svn $ keywordsLennart Poettering2008-06-181-2/+0
|
* rework shm usage negotiation; merge a few pa_bool_t in a single bit field to ↵Lennart Poettering2008-06-171-10/+9
| | | | | | save a bit of memory; drop redundant implementation of pa_init_proplist() git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2544 fefdeb5f-60dc-0310-8127-8f9354f1896f
* fix a bad memory access pulsecore/client.cLennart Poettering2008-06-131-0/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2527 fefdeb5f-60dc-0310-8127-8f9354f1896f
* merge glitch-free branch back into trunkLennart Poettering2008-05-151-23/+30
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2445 fefdeb5f-60dc-0310-8127-8f9354f1896f
* - Check process name when dealing with PID filesLennart Poettering2007-11-211-1/+15
| | | | | | | | | | | | - Add new PA_STREAM_FIX_CHANNELS, FIX_RATE, FIX_FORMAT, DONT_MOVE, VARIABLE_RATES to pa_sream_flags_t adn implement it - Expose those flags in pacat - Add notifications about device suspend/resume to the protocol and expose them in libpulse - Allow changing of buffer_attr during playback - allow disabling for remixing globally - hookup polkit support git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2067 fefdeb5f-60dc-0310-8127-8f9354f1896f
* merge 'lennart' branch back into trunk.Lennart Poettering2007-10-281-3/+6
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1971 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Add copyright notices to all relevant files. (based on svn log)Pierre Ossman2007-02-131-0/+3
| | | | 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-10/+10
| | | | | | | 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-1/+0
| | | | 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-0/+1
| | | | | | | | | | | | | | | | | | | | | 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
* increase operation timeoutLennart Poettering2006-08-271-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1336 fefdeb5f-60dc-0310-8127-8f9354f1896f
* enable SHM support on the client side only if both the client and the server ↵Lennart Poettering2006-08-181-1/+1
| | | | | | run as the same user and the server supports it git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1278 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Rework memory management to allow shared memory data transfer. The central ideaLennart Poettering2006-08-181-1/+1
| | | | | | | | | | | | | | | is to allocate all audio memory blocks from a per-process memory pool which is available as read-only SHM segment to other local processes. Then, instead of writing the actual audio data to the socket just write references to this shared memory pool. To work optimally all memory blocks should now be of type PA_MEMBLOCK_POOL or PA_MEMBLOCK_POOL_EXTERNAL. The function pa_memblock_new() now generates memory blocks of this type by default. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1266 fefdeb5f-60dc-0310-8127-8f9354f1896f
* big s/polyp/pulse/gLennart Poettering2006-06-191-0/+210
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1033 fefdeb5f-60dc-0310-8127-8f9354f1896f