summaryrefslogtreecommitdiff
path: root/src/pulsecore/source.c
AgeCommit message (Collapse)AuthorFilesLines
2010-09-29timings: improve timings by returning latency/time pairWim Taymans1-10/+27
When we ask for the latency, also return the time when the latency calculation was made so that we can use both values to have more accurate timing results.
2009-08-31core: always allow volume setting with single-channel pa_cvolumeLennart Poettering1-3/+10
2009-08-29core: initialize sink/source priorities automatically based on their proplistsLennart Poettering1-0/+2
2009-08-28core: add priority field to pa_sink/pa_sourceLennart Poettering1-0/+1
2009-08-21object: speed up type verification by not relying on strcmp()Lennart Poettering1-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.
2009-08-19source: rework volume handlingLennart Poettering1-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
2009-08-15core: introduce pa_{sink|source}_update_flags()Lennart Poettering1-2/+16
2009-08-15core: make fixed latency dynamically changeableLennart Poettering1-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.
2009-08-15core: move rtpoll to thread_info sub structureLennart Poettering1-5/+4
2009-08-15core: split of FAIL_ON_SUSPEND into KILL_ON_SUSPEND and NO_CREATE_ON_SUSPENDLennart Poettering1-3/+2
2009-08-15core: introduce pa_{sink_input|source_output}_fail_move()Lennart Poettering1-5/+3
2009-08-13core: add assert macros for verifying calling contextLennart Poettering1-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)
2009-08-07ladspa/remap: make sure we process all requested rewinds unconditionallyLennart Poettering1-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.
2009-08-07core: save volume/mute changes coming from the hardware automaticallyLennart Poettering1-11/+11
Volume changes coming from the lower layers are most likely changes triggered by the user, so let's save them automatically.
2009-06-18core: be a bit more verbose when registering a sink/source failsLennart Poettering1-0/+1
2009-06-17alsa: rework mixer logicLennart Poettering1-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.
2009-06-08prop: introduce new PA_PROP_DEVICE_INTENDED_ROLES propertyLennart Poettering1-0/+1
2009-06-08core: make sure soft mute status stays in sync with hw mute statusLennart Poettering1-1/+5
This should close rhbz #494851, mandriva bz #51234. Probably the same as our own #572, launchpad #352732.
2009-06-06core: suppress suspending/resume when we are already in the right stateLennart Poettering1-0/+3
2009-06-05core: add a suspend cause flags fieldLennart Poettering1-3/+13
2009-05-08core: liberalize 99a6a4 a bitLennart Poettering1-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().
2009-05-08core: cache requested latency only when we are running, not while we are ↵Lennart Poettering1-2/+5
still constructing
2009-05-08core: make sure we fix up flags/monitor flags already in pa_sink_new() ↵Lennart Poettering1-13/+8
instead of pa_sink_put()
2009-05-08core: introduce pa_{sink,source}_set_fixed_latency()Lennart Poettering1-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().
2009-04-10core: add a seperate fixed_latency field for sinks/sources with fixed latencyLennart Poettering1-10/+18
2009-04-10core: memory leak, fix ref counting when moving streamsLennart Poettering1-1/+5
2009-04-07add suspend_within_thread() callbacks to pa_sink_input/pa_source_outputLennart Poettering1-2/+19
2009-04-05introduce pa_{sink|source}_get_latency_within_thread()Lennart Poettering1-0/+26
2009-03-25on monitor source be fine with any latency range set by the sinkLennart Poettering1-1/+2
2009-03-25simplify things and make sure timing setters can be called in most contextsLennart Poettering1-16/+21
2009-03-25introduce new flag that marks sinks/sources which can adjust the latency ↵Lennart Poettering1-0/+10
dynamically
2009-03-25make pa_source_set_max_rewind() work similar to pa_sink_set_max_rewind()Lennart Poettering1-1/+17
2009-03-25get rid of 'default' min/max latencies, simplify things by just having ↵Lennart Poettering1-11/+4
absolute boundaries
2009-03-24Allow calling pa_{sink|source}_update_proplist() without an actual proprlistLennart Poettering1-2/+2
2009-03-24simplify latency range by not allowing stored 'wildcard' ranges anymoreLennart Poettering1-7/+15
2009-03-21add functions that modules can call whenever they now the volume changedLennart Poettering1-1/+26
2009-03-04fix handling of _suspend_all(), return first failure error codeLennart Poettering1-2/+9
2009-03-04make suspend state of monitor source follow the suspend state of the sink it ↵Lennart Poettering1-0/+18
belongs to
2009-03-04Don't allow suspending of monitor sources.Lennart Poettering1-0/+3
Closes #499
2009-03-03Use LGPL 2.1 on all files previously using LGPL 2Colin Guthrie1-1/+1
2009-03-01add logic for initializing a useful icon nameLennart Poettering1-0/+3
2009-02-19additional validity checkLennart Poettering1-0/+3
2009-02-12call _kill functions instead of _unlink since the latter should only be ↵Lennart Poettering1-2/+2
called be the stream implementor
2009-02-11pulsecore: add PA_CORE_HOOK_*_MOVE_FAILMarc-André Lureau1-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)
2009-02-03implement PA_STREAM_FAIL_ON_SUSPEND logicLennart Poettering1-3/+9
2009-02-02Fix a few sink/source calls when they are called in suspended state.Lennart Poettering1-6/+15
2009-01-30dump properties when we create a new sink or sourceLennart Poettering1-2/+6
2009-01-27when changing volume, store whether it is worth remembering or noLennart Poettering1-2/+2
2009-01-27move flat volume logic into the core. while doing so add n_volume_steps ↵Lennart Poettering1-39/+46
field to sinks/sources
2009-01-23add functions to move all inputs of a sink away/similar for source outputsLennart Poettering1-0/+52