summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/source.c
Commit message (Collapse)AuthorAgeFilesLines
* core: always allow volume setting with single-channel pa_cvolumeLennart Poettering2009-08-311-3/+10
|
* core: initialize sink/source priorities automatically based on their proplistsLennart Poettering2009-08-291-0/+2
|
* core: add priority field to pa_sink/pa_sourceLennart Poettering2009-08-281-0/+1
|
* 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-19/+26
| | | | | | | | | | | | | - 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-2/+16
|
* core: make fixed latency dynamically changeableLennart Poettering2009-08-151-18/+83
| | | | | | | | | | | | | 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-5/+4
|
* core: split of FAIL_ON_SUSPEND into KILL_ON_SUSPEND and NO_CREATE_ON_SUSPENDLennart Poettering2009-08-151-3/+2
|
* core: introduce pa_{sink_input|source_output}_fail_move()Lennart Poettering2009-08-151-5/+3
|
* core: add assert macros for verifying calling contextLennart Poettering2009-08-131-8/+58
| | | | | | | 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)
* ladspa/remap: make sure we process all requested rewinds unconditionallyLennart Poettering2009-08-071-3/+3
| | | | | | | In some situations a rewind request travelling downstream might be optimized away on its way and an upstream rewind processing might never come back. Hence, call _process_rewind() before each _render()just to make sure we processed them all.
* core: save volume/mute changes coming from the hardware automaticallyLennart Poettering2009-08-071-11/+11
| | | | | Volume changes coming from the lower layers are most likely changes triggered by the user, so let's save them automatically.
* core: be a bit more verbose when registering a sink/source failsLennart Poettering2009-06-181-0/+1
|
* alsa: rework mixer logicLennart Poettering2009-06-171-11/+110
| | | | | | | | | | | | 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.
* prop: introduce new PA_PROP_DEVICE_INTENDED_ROLES propertyLennart Poettering2009-06-081-0/+1
|
* core: make sure soft mute status stays in sync with hw mute statusLennart Poettering2009-06-081-1/+5
| | | | | | This should close rhbz #494851, mandriva bz #51234. Probably the same as our own #572, launchpad #352732.
* core: suppress suspending/resume when we are already in the right stateLennart Poettering2009-06-061-0/+3
|
* core: add a suspend cause flags fieldLennart Poettering2009-06-051-3/+13
|
* core: liberalize 99a6a4 a bitLennart Poettering2009-05-081-3/+7
| | | | | | While flags should generally be initialized by passing them to pa_{sink|source}_new() we make an exception for the volume related flags which may be initilized afterwards, but before _put().
* core: cache requested latency only when we are running, not while we are ↵Lennart Poettering2009-05-081-2/+5
| | | | still constructing
* core: make sure we fix up flags/monitor flags already in pa_sink_new() ↵Lennart Poettering2009-05-081-13/+8
| | | | instead of pa_sink_put()
* core: introduce pa_{sink,source}_set_fixed_latency()Lennart Poettering2009-05-081-0/+15
| | | | | 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-10/+18
|
* core: memory leak, fix ref counting when moving streamsLennart Poettering2009-04-101-1/+5
|
* add suspend_within_thread() callbacks to pa_sink_input/pa_source_outputLennart Poettering2009-04-071-2/+19
|
* introduce pa_{sink|source}_get_latency_within_thread()Lennart Poettering2009-04-051-0/+26
|
* on monitor source be fine with any latency range set by the sinkLennart Poettering2009-03-251-1/+2
|
* simplify things and make sure timing setters can be called in most contextsLennart Poettering2009-03-251-16/+21
|
* introduce new flag that marks sinks/sources which can adjust the latency ↵Lennart Poettering2009-03-251-0/+10
| | | | dynamically
* make pa_source_set_max_rewind() work similar to pa_sink_set_max_rewind()Lennart Poettering2009-03-251-1/+17
|
* get rid of 'default' min/max latencies, simplify things by just having ↵Lennart Poettering2009-03-251-11/+4
| | | | absolute boundaries
* Allow calling pa_{sink|source}_update_proplist() without an actual proprlistLennart Poettering2009-03-241-2/+2
|
* simplify latency range by not allowing stored 'wildcard' ranges anymoreLennart Poettering2009-03-241-7/+15
|
* add functions that modules can call whenever they now the volume changedLennart Poettering2009-03-211-1/+26
|
* fix handling of _suspend_all(), return first failure error codeLennart Poettering2009-03-041-2/+9
|
* make suspend state of monitor source follow the suspend state of the sink it ↵Lennart Poettering2009-03-041-0/+18
| | | | belongs to
* Don't allow suspending of monitor sources.Lennart Poettering2009-03-041-0/+3
| | | | Closes #499
* Use LGPL 2.1 on all files previously using LGPL 2Colin Guthrie2009-03-031-1/+1
|
* add logic for initializing a useful icon nameLennart Poettering2009-03-011-0/+3
|
* additional validity checkLennart Poettering2009-02-191-0/+3
|
* call _kill functions instead of _unlink since the latter should only be ↵Lennart Poettering2009-02-121-2/+2
| | | | called be the stream implementor
* pulsecore: add PA_CORE_HOOK_*_MOVE_FAILMarc-André Lureau2009-02-111-2/+4
| | | | | | 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)
* implement PA_STREAM_FAIL_ON_SUSPEND logicLennart Poettering2009-02-031-3/+9
|
* Fix a few sink/source calls when they are called in suspended state.Lennart Poettering2009-02-021-6/+15
|
* dump properties when we create a new sink or sourceLennart Poettering2009-01-301-2/+6
|
* when changing volume, store whether it is worth remembering or noLennart Poettering2009-01-271-2/+2
|
* move flat volume logic into the core. while doing so add n_volume_steps ↵Lennart Poettering2009-01-271-39/+46
| | | | field to sinks/sources
* add functions to move all inputs of a sink away/similar for source outputsLennart Poettering2009-01-231-0/+52
|
* don't include full path in driver name.Lennart Poettering2009-01-221-1/+2
|