summaryrefslogtreecommitdiffstats
path: root/src/modules/oss
Commit message (Collapse)AuthorAgeFilesLines
* sink: volume handling rework, new flat volume logicLennart Poettering2009-08-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | | - 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.
* source: rework volume handlingLennart Poettering2009-08-191-4/+4
| | | | | | | | | | | | | - 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: get rid of rt sig/timer handling since modern Linux' ppooll() is ↵Lennart Poettering2009-06-191-1/+0
| | | | finally fixed for granularity
* modules: introduce PA_MODULE_DEPRECATED() macro for marking modules deprecatedLennart Poettering2009-05-281-0/+3
|
* modules: add {sink|source|card}_properties argument to all modulesLennart Poettering2009-05-281-2/+18
|
* oss: don't deadlock when we try to resume an OSS device that lacks a mixerLennart Poettering2009-05-261-4/+7
|
* core: introduce pa_{sink,source}_set_fixed_latency()Lennart Poettering2009-05-081-2/+2
| | | | | 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: introduce new 'reference' volume for sinksLennart Poettering2009-04-131-1/+1
| | | | | | | | | | | | | | | The reference volume is to be used as reference volume for stored stream volumes. Previously if a new stream was created the relative volume was taken relatively to the virtual device volume. Due to the flat volume logic this could then be fed back to the virtual device volume. Repeating the whole story over and over would result in a device volume that would go lower, and lower and lower. This patch introduces a 'reference' volume for each sink which stays unmodified by stream volume changes even if flat volumes are used. It is only modified if the sink volumes are modified directly by the user. For further explanations see http://pulseaudio.org/wiki/InternalVolumes
* set fixed latencies at more places where appropriateLennart Poettering2009-04-101-0/+2
|
* set request/rewind sizes only via accessor functionsLennart Poettering2009-03-241-1/+1
|
* Use LGPL 2.1 on all files previously using LGPL 2Colin Guthrie2009-03-033-3/+3
|
* introduce default channel map in addition to the default sample specLennart Poettering2009-02-211-0/+1
|
* move flat volume logic into the core. while doing so add n_volume_steps ↵Lennart Poettering2009-01-271-36/+26
| | | | field to sinks/sources
* NetBSD sometimes doesn't know SNDCTL_DSP_GETODELAYJared D. McNeill2009-01-221-2/+21
| | | | Signed-off-by: Lennart Poettering <lennart@poettering.net>
* NetBSD doesn't know ENOLINKJared D. McNeill2009-01-221-0/+4
| | | | Signed-off-by: Lennart Poettering <lennart@poettering.net>
* When resuming an OSS device ask for the very same fragment settings as we ↵Lennart Poettering2009-01-222-3/+7
| | | | | | | | | | | did the first time In OSS it is only possible to request fragment sizes that are powers of 2. However actually selected fragment sizes may be arbitrary values. This means that it is not always possible to request the same fragment size after a suspend that was used before the suspend because we simply cannot express it in the request. To work around that we should issue the same request as we did the first time.
* include PA_SINK_INVALID_STATE in all switch/case statements to make gcc shut upLennart Poettering2009-01-221-0/+2
|
* fix segfault when in record-only modeLennart Poettering2009-01-221-1/+1
|
* only reread volume if we actually have a good mixer. Closes #466Lennart Poettering2009-01-221-7/+8
|
* make gcc shut up a bit moreLennart Poettering2009-01-221-1/+6
|
* Add support for 24bit samples encoded in the LSB of 32 bit wordsLennart Poettering2009-01-161-0/+2
|
* add support for 24bit packed samplesLennart Poettering2009-01-161-0/+2
|
* add stub makefiles for oss and alsa subdirsLennart Poettering2009-01-151-0/+1
|
* move alsa and oss modules into their own subdirectoriesLennart Poettering2009-01-153-0/+1994