summaryrefslogtreecommitdiffstats
path: root/src/pulsecore
Commit message (Collapse)AuthorAgeFilesLines
...
| * volume: remove ref functionsWim Taymans2009-08-202-446/+0
| |
| * volume: improved commentsWim Taymans2009-08-202-27/+30
| |
| * volume: make the benchmark more meaningfullWim Taymans2009-08-202-43/+69
| | | | | | | | MMX is about 6x faster, SSE around 15x on my machine.
| * svolume: add some commentsWim Taymans2009-08-201-0/+18
| |
| * cpu-x86: guard header with ifdefWim Taymans2009-08-201-0/+5
| |
| * main: hook up cpu detection codeWim Taymans2009-08-203-19/+18
| | | | | | | | | | | | Add CPU detection code to activate the various optimisations. Move some method definitions around. Use compatibility macros when we can.
| * cpu-x86: add cpu detection code and helpersWim Taymans2009-08-202-0/+183
| | | | | | | | | | Add CPU detection code and various macros and typdefs to make it easier to write 64 and 32 bit code.
| * svolume: improve SSE and MMX codeWim Taymans2009-08-202-123/+268
| |
| * volume_sse: add sse optimisationsWim Taymans2009-08-202-0/+438
| |
| * volume_mmx: fix mmx code a bitWim Taymans2009-08-201-20/+26
| |
| * volume: add first mmx optimized functionWim Taymans2009-08-202-0/+425
| | | | | | | | | | Add code for an mmx optimized version of s16ne volume scaling. Install the custom function.
| * samples-util: add padding to volume arrayWim Taymans2009-08-201-5/+17
| | | | | | | | | | Pad the volume array with a copy of the start. We'll need this later to be able to write optimized functions.
| * sample-util: move volume code to separate fileWim Taymans2009-08-203-311/+346
| | | | | | | | | | Move the volume code into a separate file with the reference C implementations. Add a function to retrieve the volume function and one to install a new one.
| * sample-util: move some functions aroundWim Taymans2009-08-201-22/+22
| | | | | | | | Move some stuff around before splitting it into a separate file.
| * sample-utils: coding style cleanupWim Taymans2009-08-201-53/+46
| | | | | | | | | | | | Make the coding style match the rest of pulseaudio more. Remove some liboil functions, they seem unoptimized and likely slower than our handrolled versions here.
| * sample-utils: split out functions from caseWim Taymans2009-08-201-283/+303
| | | | | | | | | | Move the volume functions out of the switch case and use a table indexed by the sample format to find the volume function.
* | core: relex validity checks when destructing half-set up source outputs/sink ↵Lennart Poettering2009-08-222-3/+4
| | | | | | | | inputs
* | core: Remove wrong doc on how to free returned dataTed Percival2009-08-221-4/+0
| |
* | core: Add thread-safe group info functions with dynamic buffersTed Percival2009-08-223-86/+447
| | | | | | | | | | | | | | Provides getgrgid, getgrnam, getpwuid & getpwnam replacements that are thread safe (a la getgrgid_r() and friends) that internally handle allocating big-enough buffers to avoid ERANGE errors on large users or groups.
* | object: speed up type verification by not relying on strcmp()Lennart Poettering2009-08-2119-65/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | adjust various data/library paths automatically if we are run from a build treeLennart Poettering2009-08-212-0/+23
| |
* | sink-input: add callbacks that are called whenever the mute/volume changesLennart Poettering2009-08-213-6/+38
|/
* core: check return value of getgrnam_r() instead of errnoLennart Poettering2009-08-201-40/+34
| | | | | | | According to POSIX getgrnam_r() returns the error code as return value, and not in errno. Honour that. Pointed out and inspired by a patch from Ted Percival.
* sink: volume handling rework, new flat volume logicLennart Poettering2009-08-198-270/+317
| | | | | | | | | | | | | | | | | | | | | | | - 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-192-20/+27
| | | | | | | | | | | | | - 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
* macro: extend comments a bitLennart Poettering2009-08-191-4/+4
|
* macro: simplify page/word alignment macros a bitLennart Poettering2009-08-171-12/+8
|
* macro: add PA_ROUND_UP/PA_ROUND_DOWN macrosLennart Poettering2009-08-171-4/+30
|
* aupdate: implicitly call _write_swap() if it wasn't called explicitlyLennart Poettering2009-08-162-0/+12
|
* core: add to FIXMEsLennart Poettering2009-08-162-0/+2
|
* modules: add various checks to avoid selecting objects that are not linked ↵Lennart Poettering2009-08-161-8/+22
| | | | or in another unclear state
* thread-mq: do final q flush only when we aren't dispatching anywayLennart Poettering2009-08-151-3/+5
|
* asyncmsgq: introduce pa_asyncmsgq_dispatching()Lennart Poettering2009-08-152-0/+8
|
* core: introduce pa_{sink|source}_update_flags()Lennart Poettering2009-08-154-3/+41
|
* database: simple hashmap based database implementationJuho Hämäläinen2009-08-151-0/+510
|
* hook-list: make use of PA_LLIST_FOREACHLennart Poettering2009-08-151-1/+1
|
* native-protocol: downgrade volume change log messagesLennart Poettering2009-08-151-3/+9
|
* core: document difference between IO and main thread view on requested latencyLennart Poettering2009-08-151-0/+3
|
* core: don't update latency range if not changedLennart Poettering2009-08-151-2/+5
|
* core: call pa_sink_get_latency_within_thread() instead of going directly via ↵Lennart Poettering2009-08-151-8/+2
| | | | process_msg()
* core: make fixed latency dynamically changeableLennart Poettering2009-08-159-50/+210
| | | | | | | | | | | | | 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-154-13/+13
|
* 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-158-15/+18
|
* native: handle moving() callback with NULL destination properlyLennart Poettering2009-08-151-1/+7
|
* core: introduce pa_{sink_input|source_output}_fail_move()Lennart Poettering2009-08-156-12/+52
|
* protocol-native: log explicitly each time a client triggers a volume changeLennart Poettering2009-08-141-3/+12
|
* resampler: round up when estimating input/output sizesLennart Poettering2009-08-141-2/+6
|
* thread-mq: never drop queued messages for the main loopLennart Poettering2009-08-141-0/+7
| | | | | | | | Previously we might have dropped messages from IO trheads to the main thread. This tuend out to be problematic since this cause SHM release messages to be lost. More visibly however this could cause playback freezing when moving streams between sinks and removing the old sink right away.
* asyncmsgq: add pa_asyncmsgq_flush() callLennart Poettering2009-08-142-4/+34
|