summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/protocol-native.c
Commit message (Collapse)AuthorAgeFilesLines
* protocol-native: log explicitly when someone asks us to quitLennart Poettering2009-09-081-0/+2
|
* llvm-clang-analyzer: drop a few unnecessary assignments and other trivial fixesLennart Poettering2009-09-081-2/+1
|
* core: always allow volume setting with single-channel pa_cvolumeLennart Poettering2009-08-311-3/+3
|
* native: make sure clients cannot trigger an assert by sending us invalid ↵Lennart Poettering2009-08-291-1/+6
| | | | volume info
* protocol-native: replace use of pa_namereg_is_valid_name() by ↵Lennart Poettering2009-08-291-10/+15
| | | | pa_namereg_is_valid_name_or_wildcard() where applicable to allow use of @@ wildcards
* core: move 'flags' field into 'pa_sink_input_new_data' structure so that ↵Lennart Poettering2009-08-281-2/+4
| | | | hooks can access it
* protocol-native: print more volume change debug messages to easy tracking ↵Lennart Poettering2009-08-271-6/+20
| | | | down of feedback loops
* protocol-native: compare uint64_t variable with (uint64_t) -1 instead of ↵Lennart Poettering2009-08-271-1/+2
| | | | (size_t) -1 for compat with 32bit archs
* object: speed up type verification by not relying on strcmp()Lennart Poettering2009-08-211-10/+5
| | | | | | | | | | | | | 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: volume handling rework, new flat volume logicLennart Poettering2009-08-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | - 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.
* native-protocol: downgrade volume change log messagesLennart Poettering2009-08-151-3/+9
|
* log: place more rate limit invocationsLennart Poettering2009-08-151-1/+3
|
* core: split of FAIL_ON_SUSPEND into KILL_ON_SUSPEND and NO_CREATE_ON_SUSPENDLennart Poettering2009-08-151-2/+2
|
* native: handle moving() callback with NULL destination properlyLennart Poettering2009-08-151-1/+7
|
* protocol-native: log explicitly each time a client triggers a volume changeLennart Poettering2009-08-141-3/+12
|
* protocol-native: use the right samplerateWim Taymans2009-07-231-1/+1
| | | | | The render_memblockq is expressed in the sample_spec of the sink, not of the particular stream before resampling.
* native: don't hit assert when user uploads zero-sized sampleLennart Poettering2009-07-011-1/+3
|
* Base mainloop on pa_rtclock_now()Marc-André Lureau2009-06-201-10/+7
| | | | | | | | | | | | | | | | Move the mainloop to monotonic based time events. Introduces 4 helper functions: pa_{context,core}_rttime_{new,restart}(), that fill correctly a timeval with the rtclock flag set if the mainloop supports it. Both mainloop-test and mainloop-test-glib works with rt and timeval based time events. PulseAudio and clients should be fully functional. This patch has received several iterations, and this one as been largely untested. Signed-off-by: Marc-André Lureau <marca-andre.lureau@nokia.com>
* native-protocol: allow enumerating portsLennart Poettering2009-06-171-0/+35
|
* native: implement command to change sink/source portLennart Poettering2009-06-171-2/+65
|
* alsa: rework mixer logicLennart Poettering2009-06-171-4/+4
| | | | | | | | | | | | 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-4/+4
|
* protocol-native,proplist-util: port to pa_get_{user|host}_name_malloc()Lennart Poettering2009-04-291-3/+9
|
* core: introduce new 'reference' volume for sinksLennart Poettering2009-04-131-4/+5
| | | | | | | | | | | | | | | 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
* protocol-native: downgrade message if we receive pcm block for dead streamLennart Poettering2009-04-101-1/+1
|
* protocol-native: print underrun message only once for each underrunLennart Poettering2009-04-101-1/+2
|
* Make sure we don't get stuck when prebuf is too highLennart Poettering2009-04-061-3/+6
| | | | | | | | If prebuf is greater than tlength minus minreq we might end up waiting for the buffer to fill up further however without ever asking for more data from the client since less minreq bytes might be missing. This fixes bug #440
* Fix a couple of races in native protocolLennart Poettering2009-04-051-42/+97
| | | | | | | | | Also make sure we account for recording memblock that are currently 'on the fly' between the main and the IO thread. Also makes a couple of timing calls that were done in different calls in a single inter-thread call. That way there is a better guarantee that they match up.
* properly account for seeks in the requested_bytes counterLennart Poettering2009-04-011-13/+16
|
* pass destination source/sink when moving streams so that we can access themLennart Poettering2009-04-011-10/+10
|
* be a bit more verbose about max_request changesLennart Poettering2009-03-311-5/+14
|
* Log underrunsLennart Poettering2009-03-311-1/+1
|
* notify clients about tlength changesLennart Poettering2009-03-301-202/+204
|
* document more often the context certain functions are called inLennart Poettering2009-03-301-1/+22
|
* Trigger move callback a little bit earlier so that no IO thread is runningLennart Poettering2009-03-301-6/+6
|
* only store card profile if flagged for thatLennart Poettering2009-03-231-1/+1
|
* fix a commentLennart Poettering2009-03-191-1/+1
|
* Merge commit 'coling/lgpl21'Lennart Poettering2009-03-031-1/+1
|\
| * Use LGPL 2.1 on all files previously using LGPL 2Colin Guthrie2009-03-031-1/+1
| |
* | pass profile priority value to clientsLennart Poettering2009-03-031-0/+1
|/
* properly handle directed card info requestsLennart Poettering2009-03-021-1/+0
|
* introduce default channel map in addition to the default sample specLennart Poettering2009-02-211-0/+3
|
* protocol-native: don't leak a proplistMarc-André Lureau2009-02-191-8/+18
|
* pulsecore: fix check for cb (m is already checked before)Marc-André Lureau2009-02-191-1/+1
|
* protocol-native: fix get_info() for cardsMarc-André Lureau2009-02-191-1/+1
|
* export card information for sinks/sources and number of sinks/sources a ↵Lennart Poettering2009-02-181-0/+4
| | | | profile would create to clients
* if we fail to import a memblock fill in silence to guarantee stability of timingLennart Poettering2009-02-181-10/+18
|
* allow sending meta/policy events to clientsLennart Poettering2009-02-121-0/+66
|
* make native protocol use pa_{sink_input|source_output|card}_update_proplist()Lennart Poettering2009-02-051-9/+4
|
* remove soft volume from pa_sink_input_new_info since it should be handled ↵Lennart Poettering2009-02-041-1/+1
| | | | internally and automatically by the sink input