summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/source.h
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* source: rework volume handlingLennart Poettering2009-08-191-1/+1
| | | | | | | | | | | | | - drop the 'virtual_' prefix from s->virtual_volume since we don't distuingish between reference and real volumes for sources - introduce an accuracy for source volumes: if the hardware can control the volume "close enough" don't necessarily adjust the rest in software unless it is beyond a certain threshold. This should save a little bit of CPU at the expensive of a bit of accuracy in volume handling. - other minor cleanups
* core: introduce pa_{sink|source}_update_flags()Lennart Poettering2009-08-151-0/+2
|
* core: make fixed latency dynamically changeableLennart Poettering2009-08-151-4/+10
| | | | | | | | | | | | | This of course makes the name 'fixed' a bit of a misnomer. However the definitions are now like this: fixed latency: the latency may change during runtime, but is solely controlled by the backend, the client has no influence. dynamic latency: the latency may change during runtime, influenced by the requests of the clients. i.e. fixed vs. dynamic is from the perspective of the client.
* core: move rtpoll to thread_info sub structureLennart Poettering2009-08-151-1/+2
|
* core: add assert macros for verifying calling contextLennart Poettering2009-08-131-0/+4
| | | | | | | This adds pa_assert_io_context() and pa_assert_ctl_context() in addition to a few related macros. When called they will fail when the current execution context is not IO resp. not control context. (aka 'thread' context vs. 'main' context)
* core: save volume/mute changes coming from the hardware automaticallyLennart Poettering2009-08-071-2/+2
| | | | | Volume changes coming from the lower layers are most likely changes triggered by the user, so let's save them automatically.
* alsa: rework mixer logicLennart Poettering2009-06-171-5/+27
| | | | | | | | | | | | Completely rework mixer logic. This now allows controlling a full set of elements from a single sink's volume slider/mute button. This also introduces sink and source "ports" that can be used to choose different input or output ports with the UI. (i.e. "mic"/"line-in" or "speaker"/"headphones". The mixer paths and device maps are now configered in external configuration files and can be tweaked as necessary.
* core: add a suspend cause flags fieldLennart Poettering2009-06-051-2/+3
|
* core: introduce pa_{sink,source}_set_fixed_latency()Lennart Poettering2009-05-081-0/+1
| | | | | This allows us to forward the fixed latency directly from the sink to the monitor source withut having to wait for pa_sink_put().
* core: add a seperate fixed_latency field for sinks/sources with fixed latencyLennart Poettering2009-04-101-0/+2
|
* introduce pa_{sink|source}_get_latency_within_thread()Lennart Poettering2009-04-051-0/+1
|
* make pa_source_set_max_rewind() work similar to pa_sink_set_max_rewind()Lennart Poettering2009-03-251-1/+3
|
* simplify latency range by not allowing stored 'wildcard' ranges anymoreLennart Poettering2009-03-241-1/+1
|
* add functions that modules can call whenever they now the volume changedLennart Poettering2009-03-211-0/+2
|
* make suspend state of monitor source follow the suspend state of the sink it ↵Lennart Poettering2009-03-041-0/+2
| | | | belongs to
* Use LGPL 2.1 on all files previously using LGPL 2Colin Guthrie2009-03-031-1/+1
|
* when changing volume, store whether it is worth remembering or noLennart Poettering2009-01-271-1/+1
|
* move flat volume logic into the core. while doing so add n_volume_steps ↵Lennart Poettering2009-01-271-12/+15
| | | | field to sinks/sources
* add functions to move all inputs of a sink away/similar for source outputsLennart Poettering2009-01-231-0/+6
|
* pulse: share private enum values with client sideMarc-André Lureau2009-01-201-9/+0
|
* pulse: introspect sink stateMarc-André Lureau2009-01-201-11/+9
|
* add new pa_card object as a way to logically combine multiple sinks and sourcesLennart Poettering2009-01-151-0/+3
|
* core: add pa_source_update_proplistMarc-André Lureau2009-01-131-0/+2
|
* Add "base volume" field to sinks/sourcesLennart Poettering2008-12-241-0/+2
|
* Implement new flags DONT_INHIBIT_AUTO_SUSPEND and START_UNMUTEDLennart Poettering2008-10-261-0/+1
|
* save a bit of memoryLennart Poettering2008-08-181-7/+8
|
* rework volume/mute APIs: split out pa_xx_set_soft_volume() and add ↵Lennart Poettering2008-08-131-2/+3
| | | | force_refresh argument to read functions
* Rework module-combine to work with glitch-free core; add new max_request ↵Lennart Poettering2008-06-201-10/+43
| | | | field to pa_sink
* get rid of svn $ keywordsLennart Poettering2008-06-181-2/+0
|
* fix a bad memory access pulsecore/client.cLennart Poettering2008-06-131-1/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2527 fefdeb5f-60dc-0310-8127-8f9354f1896f
* add new function pa_source_set_latency_range(), fix type of requested_latencyLennart Poettering2008-05-171-1/+3
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2456 fefdeb5f-60dc-0310-8127-8f9354f1896f
* merge glitch-free branch back into trunkLennart Poettering2008-05-151-17/+60
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2445 fefdeb5f-60dc-0310-8127-8f9354f1896f
* merge 'lennart' branch back into trunk.Lennart Poettering2007-10-281-36/+104
| | | | 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-8/+8
| | | | | | | mmmkay? git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f
* add pa_sink_used_by()/pa_source_used_by()Lennart Poettering2006-08-121-1/+1
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1226 fefdeb5f-60dc-0310-8127-8f9354f1896f
* comment which values in pa_{sink,source,sink_input,source_output} structures ↵Lennart Poettering2006-08-111-9/+11
| | | | | | may be NULL git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1204 fefdeb5f-60dc-0310-8127-8f9354f1896f
* * introduce new functions pa_sink_set_description() and ↵Lennart Poettering2006-08-111-0/+3
| | | | | | | | | pa_source_set_description() for changing the description of a sink/source * allow sinks without monitor sources attached git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1203 fefdeb5f-60dc-0310-8127-8f9354f1896f
* add a new boolean variable is_hardware to pa_sink/pa_source to denote wether ↵Lennart Poettering2006-07-161-0/+2
| | | | | | the specific device is a hardware device or virtual/software git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1090 fefdeb5f-60dc-0310-8127-8f9354f1896f
* big s/polyp/pulse/gLennart Poettering2006-06-191-0/+101
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1033 fefdeb5f-60dc-0310-8127-8f9354f1896f