summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/core.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove unnecessary #includesMaarten Bosmans2011-06-221-2/+0
|
* core: Suspend monitor when a sink enters passthrough modeArun Raghavan2011-05-021-0/+1
| | | | | | | | | | | In most cases it is expected that clients cannot consume compressed data from monitor sources, so we suspend the monitor source when the sink goes into passthrough mode. Eventually, when the extended API includes client notifications for changed formats, we should emit a notification on the monitor so that clients can decide what they want to do when this happens (disconnect or consume the data anyway).
* core: Add a new hook PA_CORE_HOOK_CARD_PROFILE_CHANGEDColin Guthrie2011-02-251-0/+1
| | | | | | This will allow modules to know when a card profile has changed and take appropriate action. This might prove useful when developing UCM so that the appropriate verb can be set.
* core: Added new hooks: PA_CORE_HOOK_SOURCE_PORT_CHANGED and ↵Kim Therkelsen2011-02-251-0/+2
| | | | | | | | | | | PA_CORE_HOOK_SINK_PORT_CHANGED This allows modules to know when certain ports are changed. This will allow e.g. a filter module (or LADSAP) to only load when a certain port is used on the device (e.g. to only filter headphones and not normal speakers). (Comment from Colin Guthrie: This may also have use in UCM)
* daemon-conf: Add sync volume parameters to daemon-confJyri Sarha2010-10-161-0/+3
| | | | | | Signed-off-by: Jyri Sarha <jyri.sarha@nokia.com> Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com> Reviewd-by: Colin Guthrie <cguthrie@mandriva.org>
* cpu: Add CPU information to pa_coreArun Raghavan2010-09-231-0/+2
| | | | | | This retains CPU information (processor type and supported features) in pa_core, so that this information can be used by modules at init time to figure out what optimisations may be used.
* Merge branch 'master' of git://0pointer.de/pulseaudio into dbus-workTanu Kaskinen2009-08-241-1/+1
|\ | | | | | | | | Conflicts: src/Makefile.am
| * object: speed up type verification by not relying on strcmp()Lennart Poettering2009-08-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using string contents for type identification use the address of a constant string array. This should speed up type verifications a little sind we only need to compare one machine word instead of a full string. Also, this saves a few strings. To make clear that types must be compared via address and not string contents 'type_name' is now called 'type_id'. This also simplifies the macros for declaring and defining public and private subclasses.
* | Merge branch 'master' of git://0pointer.de/pulseaudio into dbus-workTanu Kaskinen2009-08-191-1/+0
|\|
| * sink: volume handling rework, new flat volume logicLennart Poettering2009-08-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - We now implement a logic where the sink maintains two distinct volumes: the 'reference' volume which is shown to the users, and the 'real' volume, which is configured to the hardware. The latter is configured to the max of all streams. Volume changes on sinks are propagated back to the streams proportional to the reference volume change. Volume changes on sink inputs are forwarded to the sink by 'pushing' the volume if necessary. This renames the old 'virtual_volume' to 'real_volume'. The 'reference_volume' is now the one exposed to users. By this logic the sink volume visible to the user, will always be the "upper" boundary for everything that is played. Saved/restored stream volumes are measured relative to this boundary, the factor here is always < 1.0. - introduce accuracy for sink volumes, similar to the accuracy we already have for source volumes. - other cleanups.
* | Merge branch 'master' into dbus-workTanu Kaskinen2009-06-291-0/+14
|\| | | | | | | | | | | | | | | Conflicts: src/daemon/daemon-conf.c src/daemon/daemon-conf.h src/daemon/main.c src/pulsecore/dbus-util.h
| * Base mainloop on pa_rtclock_now()Marc-André Lureau2009-06-201-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * core: add a suspend cause flags fieldLennart Poettering2009-06-051-0/+10
| |
* | dbus-protocol: Connection handling for local connections.Tanu Kaskinen2009-06-161-0/+9
|/
* Use LGPL 2.1 on all files previously using LGPL 2Colin Guthrie2009-03-031-1/+1
|
* try to vacuum a little when nothing is going onLennart Poettering2009-02-251-0/+2
|
* introduce default channel map in addition to the default sample specLennart Poettering2009-02-211-0/+1
|
* Merge commit 'elmarco/bt-wip'Lennart Poettering2009-02-121-0/+2
|\
| * pulsecore: add PA_CORE_HOOK_*_MOVE_FAILMarc-André Lureau2009-02-111-0/+2
| | | | | | | | | | | | In case pa_*_move_all_fail(), it is nicer to let a module override the default behavior to fallback on a different sink/source. (instead of unlinking the sink_input/source_output)
* | allow sending meta/policy events to clientsLennart Poettering2009-02-121-0/+3
| |
* | add missing hookLennart Poettering2009-02-051-0/+1
|/
* get rid of nonsensical late initialization of namereg/scache and thingsLennart Poettering2009-01-291-5/+4
|
* store the default sink/source in proper pa_sink*/pa_source* pointers instead ↵Lennart Poettering2009-01-281-4/+6
| | | | of a string
* move flat volume logic into the core. while doing so add n_volume_steps ↵Lennart Poettering2009-01-271-1/+1
| | | | field to sinks/sources
* move sink input/source output move functions into two parts so that we can ↵Lennart Poettering2009-01-231-4/+4
| | | | start the move, delete the original sink, create a new sink, finish the move; similar for source outputs
* maintain a pa_core state variableLennart Poettering2009-01-231-0/+8
|
* kill autoload stuff as plannedLennart Poettering2009-01-151-4/+3
|
* add new pa_card object as a way to logically combine multiple sinks and sourcesLennart Poettering2009-01-151-1/+4
|
* convert pa_client instantiation to use a pa_client_new_data struct and add ↵Lennart Poettering2009-01-151-0/+3
| | | | hooks for manipulating it
* volume hooksMarc-Andre Lureau2008-10-071-0/+2
| | | | Signed-off-by: Lennart Poettering <lennart@poettering.net>
* Make the shared memory segment size configurableLennart Poettering2008-10-011-1/+1
| | | | | This is useful only on systems where memory overcommit is not available or disabled.
* Add new option to disable remixing from/to LFE and set it to on by defaultLennart Poettering2008-09-051-0/+1
|
* add new switch --disallow-exitLennart Poettering2008-08-061-2/+5
|
* rename pa_property_xxx to pa_shared_xxx to avoid confusion with property listsLennart Poettering2008-08-011-1/+1
|
* save a bit of memoryLennart Poettering2008-06-271-3/+5
|
* get rid of svn $ keywordsLennart Poettering2008-06-181-2/+0
|
* big mumbo jumo of interleaved patches.Lennart Poettering2008-05-211-1/+0
| | | | | | | | | * Use seperate "state" and "config" paths * Pass the fact that we are in system mode via an env var $PULSE_SYSTEM instead of as var in pa_core * Properly check proc name when checking PID files. Don't check exename, because we cannot read that for other uids git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2480 fefdeb5f-60dc-0310-8127-8f9354f1896f
* merge glitch-free branch back into trunkLennart Poettering2008-05-151-6/+12
| | | | 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-0/+3
| | | | | | | | | | | | - 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
* make rtprio and nice level actually configurableLennart Poettering2007-11-011-3/+4
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2014 fefdeb5f-60dc-0310-8127-8f9354f1896f
* merge 'lennart' branch back into trunk.Lennart Poettering2007-10-281-8/+47
| | | | 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/+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-4/+4
| | | | | | | mmmkay? git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f
* Rework memory management to allow shared memory data transfer. The central ideaLennart Poettering2006-08-181-2/+2
| | | | | | | | | | | | | | | 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
* define new hooks: hook_source_output_new, hook_source_disconnectLennart Poettering2006-08-131-2/+5
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1247 fefdeb5f-60dc-0310-8127-8f9354f1896f
* properly implement a pa_sink_disconnect() hookLennart Poettering2006-08-131-1/+2
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1243 fefdeb5f-60dc-0310-8127-8f9354f1896f
* allow hooking into the process of creating playback streams. To implement ↵Lennart Poettering2006-08-131-3/+10
| | | | | | this I modified the pa_sink_input_new() signature to take a pa_sink_input_new_data structure instead of direct arguments. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1237 fefdeb5f-60dc-0310-8127-8f9354f1896f
* rework subscription code: try to drop redundant queued events Lennart Poettering2006-08-121-4/+6
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1211 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * add new --system command line parameter to the daemon for running ↵Lennart Poettering2006-07-191-0/+2
| | | | | | | | | | | | PulseAudio as system-wide instance * add PA_ prefixes to all global #defines * modify auth-by-creds: define a new group "pulse-access" which is used for authentication * add proper privilige dropping when running in --system mode * create runtime directory once on startup and not by each module seperately git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1105 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * more s/pulseaudio/PulseAudio/ replacementsLennart Poettering2006-06-191-2/+2
| | | | | | | * name the per-user dir ~/.pulse (instead of .pulseaudio), just like /etc/pulse/ git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1039 fefdeb5f-60dc-0310-8127-8f9354f1896f