Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | llvm-clang-analyzer: drop a few unnecessary assignments and other trivial fixes | Lennart Poettering | 2009-09-08 | 1 | -3/+0 |
| | |||||
* | core: always allow volume setting with single-channel pa_cvolume | Lennart Poettering | 2009-08-31 | 1 | -2/+12 |
| | |||||
* | core: move 'flags' field into 'pa_sink_input_new_data' structure so that ↵ | Lennart Poettering | 2009-08-28 | 1 | -11/+10 |
| | | | | hooks can access it | ||||
* | sink-input: extend comments on rewinding logic a bit | Lennart Poettering | 2009-08-27 | 1 | -7/+15 |
| | |||||
* | core: relex validity checks when destructing half-set up source outputs/sink ↵ | Lennart Poettering | 2009-08-22 | 1 | -1/+4 |
| | | | | inputs | ||||
* | object: speed up type verification by not relying on strcmp() | Lennart Poettering | 2009-08-21 | 1 | -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. | ||||
* | sink-input: add callbacks that are called whenever the mute/volume changes | Lennart Poettering | 2009-08-21 | 1 | -1/+15 |
| | |||||
* | sink: volume handling rework, new flat volume logic | Lennart Poettering | 2009-08-19 | 1 | -107/+57 |
| | | | | | | | | | | | | | | | | | | | | | | | - 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. | ||||
* | core: make fixed latency dynamically changeable | Lennart Poettering | 2009-08-15 | 1 | -3/+4 |
| | | | | | | | | | | | | | 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: split of FAIL_ON_SUSPEND into KILL_ON_SUSPEND and NO_CREATE_ON_SUSPEND | Lennart Poettering | 2009-08-15 | 1 | -1/+1 |
| | |||||
* | core: introduce pa_{sink_input|source_output}_fail_move() | Lennart Poettering | 2009-08-15 | 1 | -0/+19 |
| | |||||
* | core: add functions to query max_rewind/max_request values from streams | Lennart Poettering | 2009-08-13 | 1 | -0/+19 |
| | |||||
* | core: add assert macros for verifying calling context | Lennart Poettering | 2009-08-13 | 1 | -5/+47 |
| | | | | | | | 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) | ||||
* | alsa: rework mixer logic | Lennart Poettering | 2009-06-17 | 1 | -5/+5 |
| | | | | | | | | | | | | 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: make sure we fix up flags/monitor flags already in pa_sink_new() ↵ | Lennart Poettering | 2009-05-08 | 1 | -1/+1 |
| | | | | instead of pa_sink_put() | ||||
* | core: use pa_{source|sink}_get_latency_within_thread() at one more place | Lennart Poettering | 2009-04-14 | 1 | -4/+1 |
| | |||||
* | core: introduce new 'reference' volume for sinks | Lennart Poettering | 2009-04-13 | 1 | -24/+31 |
| | | | | | | | | | | | | | | | 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 | ||||
* | core: add a seperate fixed_latency field for sinks/sources with fixed latency | Lennart Poettering | 2009-04-10 | 1 | -4/+9 |
| | |||||
* | core: memory leak, fix ref counting when moving streams | Lennart Poettering | 2009-04-10 | 1 | -5/+15 |
| | |||||
* | introduce relative_volume field in sink_input and make use of it on sink ↵ | Lennart Poettering | 2009-04-08 | 1 | -13/+43 |
| | | | | flat volume change | ||||
* | add suspend_within_thread() callbacks to pa_sink_input/pa_source_output | Lennart Poettering | 2009-04-07 | 1 | -0/+1 |
| | |||||
* | properly account for seeks in the requested_bytes counter | Lennart Poettering | 2009-04-01 | 1 | -2/+2 |
| | |||||
* | pass destination source/sink when moving streams so that we can access them | Lennart Poettering | 2009-04-01 | 1 | -1/+1 |
| | |||||
* | don't access i->sink if it is not set | Lennart Poettering | 2009-04-01 | 1 | -3/+5 |
| | |||||
* | simplify latency config functions a bit and make them callable in more contexts | Lennart Poettering | 2009-03-30 | 1 | -30/+25 |
| | |||||
* | Trigger move callback a little bit earlier so that no IO thread is running | Lennart Poettering | 2009-03-30 | 1 | -5/+4 |
| | |||||
* | introduce pa_sink_input_get_relative_volume() | Lennart Poettering | 2009-03-20 | 1 | -0/+22 |
| | |||||
* | Use LGPL 2.1 on all files previously using LGPL 2 | Colin Guthrie | 2009-03-03 | 1 | -1/+1 |
| | |||||
* | try to vacuum a little when nothing is going on | Lennart Poettering | 2009-02-25 | 1 | -0/+2 |
| | |||||
* | make sure we check the sink status for PA_SINK_INPUT_FAIL_ON_SUSPEND only ↵ | Lennart Poettering | 2009-02-24 | 1 | -1/+6 |
| | | | | after module-suspend-on-idle had the chance to resume the device | ||||
* | Allow passing a NULL proplist to pa_xxxx_update_proplist() to just fire a ↵ | Lennart Poettering | 2009-02-22 | 1 | -2/+2 |
| | | | | notification | ||||
* | allow sending meta/policy events to clients | Lennart Poettering | 2009-02-12 | 1 | -0/+29 |
| | |||||
* | make return value of pa_{sink_input|source_output}_update_proplist() void | Lennart Poettering | 2009-02-05 | 1 | -10/+8 |
| | |||||
* | handle default volume initialization properly | Lennart Poettering | 2009-02-05 | 1 | -1/+4 |
| | |||||
* | add a 'volume factor' that is implicitly multiplied into the volume of a ↵ | Lennart Poettering | 2009-02-05 | 1 | -5/+22 |
| | | | | sink input without being visible to the outside | ||||
* | remove soft volume from pa_sink_input_new_info since it should be handled ↵ | Lennart Poettering | 2009-02-04 | 1 | -39/+27 |
| | | | | internally and automatically by the sink input | ||||
* | merge in properties earlier to make identification of streams from hooks easier | Lennart Poettering | 2009-02-04 | 1 | -3/+3 |
| | |||||
* | when moving a sink between sinks make volume relative | Lennart Poettering | 2009-02-03 | 1 | -2/+14 |
| | |||||
* | make a couple of functions return proper error codes | Lennart Poettering | 2009-02-03 | 1 | -43/+47 |
| | |||||
* | make a few functions return void where the retval isn't used/never != 0 | Lennart Poettering | 2009-02-03 | 1 | -10/+3 |
| | |||||
* | implement PA_STREAM_FAIL_ON_SUSPEND logic | Lennart Poettering | 2009-02-03 | 1 | -1/+5 |
| | |||||
* | when changing volume, store whether it is worth remembering or no | Lennart Poettering | 2009-01-27 | 1 | -6/+16 |
| | |||||
* | move flat volume logic into the core. while doing so add n_volume_steps ↵ | Lennart Poettering | 2009-01-27 | 1 | -45/+111 |
| | | | | field to sinks/sources | ||||
* | invert an ill-placed assert | Lennart Poettering | 2009-01-27 | 1 | -1/+1 |
| | |||||
* | store requested resampling method in a seperate field and use it when create ↵ | Lennart Poettering | 2009-01-27 | 1 | -5/+4 |
| | | | | a new resampler after a move | ||||
* | move sink input/source output move functions into two parts so that we can ↵ | Lennart Poettering | 2009-01-23 | 1 | -44/+96 |
| | | | | start the move, delete the original sink, create a new sink, finish the move; similar for source outputs | ||||
* | in most cases we can use i->core instead of i->sink->core and o->coure ↵ | Lennart Poettering | 2009-01-23 | 1 | -20/+20 |
| | | | | instead of o->source->core | ||||
* | don't include full path in driver name. | Lennart Poettering | 2009-01-22 | 1 | -1/+2 |
| | |||||
* | make proplist inheritance scheme automatic and implicit | Lennart Poettering | 2009-01-15 | 1 | -0/+3 |
| | |||||
* | kill autoload stuff as planned | Lennart Poettering | 2009-01-15 | 1 | -1/+1 |
| |