Commit graph

55 commits

Author SHA1 Message Date
Lennart Poettering
e47d03dea4 implement PA_STREAM_FAIL_ON_SUSPEND logic 2009-02-03 02:23:46 +01:00
Lennart Poettering
2854afbb1b fix soft_mute handling 2009-02-02 01:51:27 +01:00
Lennart Poettering
537424a9a9 reset rewind_requested when we enter suspend mode 2009-02-02 00:46:11 +01:00
Lennart Poettering
a9e9ab32a2 shortcut pa_sink_process_rewind() when no rewind is happenning and none was requested 2009-02-02 00:45:54 +01:00
Lennart Poettering
5fc11a0724 Fix a few sink/source calls when they are called in suspended state. 2009-02-02 00:45:00 +01:00
Lennart Poettering
8fbce6eb89 when determining the minimum volume of all sink inputs make sure to handle the case when there are no sink inputs correctly 2009-02-02 00:27:47 +01:00
Lennart Poettering
dbb8951a41 dump properties when we create a new sink or source 2009-01-30 02:25:49 +01:00
Lennart Poettering
64b0543588 when changing volume, store whether it is worth remembering or no 2009-01-27 23:40:03 +01:00
Lennart Poettering
d5f46e824e move flat volume logic into the core. while doing so add n_volume_steps field to sinks/sources 2009-01-27 04:39:07 +01:00
Lennart Poettering
640d317df9 add functions to move all inputs of a sink away/similar for source outputs 2009-01-23 22:40:02 +01:00
Lennart Poettering
0f7954a9f5 don't include full path in driver name. 2009-01-22 00:15:19 +01:00
Marc-André Lureau
6374f8e427 sink: trigger subscribe event on sink state change 2009-01-20 00:16:18 +02:00
Lennart Poettering
47a2b17d01 make proplist inheritance scheme automatic and implicit 2009-01-15 20:27:07 +01:00
Lennart Poettering
a861ffacc4 Merge commit 'e0f8ffe41f' 2009-01-15 19:19:45 +01:00
Lennart Poettering
b6deb0cc4c add new pa_card object as a way to logically combine multiple sinks and sources 2009-01-15 18:29:16 +01:00
Lennart Poettering
06de6393d1 don't rely on PA_SINK_RUNNING vs. PA_SINK_IDLE for optimizations since it might not be fully up to date 2009-01-15 00:07:38 +01:00
Marc-André Lureau
6ec0162686 sink: add a virtual_volume to sink 2009-01-14 21:38:12 +02:00
Marc-André Lureau
2204bbebf2 core: add source, si, so proplist_update 2009-01-13 19:06:10 +02:00
Marc-André Lureau
9444347c06 core: add pa_sink_update_proplist 2009-01-13 16:59:45 +02:00
Lennart Poettering
2ff20ceccb Rework handling of the PA_SINK_LATENCY/PA_SOURCE_LATENCY flags 2008-12-24 00:58:34 +01:00
Lennart Poettering
6130c5c11b Add "base volume" field to sinks/sources 2008-12-24 00:49:43 +01:00
Lennart Poettering
82f09b6d8f Don't hit an assert when checking for idleness
Closes #398
2008-12-17 21:03:17 +01:00
Lennart Poettering
adc2973c8d Implement new flags DONT_INHIBIT_AUTO_SUSPEND and START_UNMUTED 2008-10-26 19:32:04 +01:00
Lennart Poettering
68cc2996cc after calling PA_CORE_HOOK_SINK_SET_VOLUME hook, check again whether the volume changed 2008-10-07 22:47:32 +02:00
Lennart Poettering
46f73fb953 additional validity checks 2008-10-07 22:47:01 +02:00
Marc-Andre Lureau
45412740b8 volume hooks
Signed-off-by: Lennart Poettering <lennart@poettering.net>
2008-10-07 01:54:30 +02:00
Lennart Poettering
4b67ea166a remove useless log message, re #367 2008-10-01 03:44:03 +02:00
Lennart Poettering
450fe170a5 fix up latency before calling into stream code, to make sure we don't ask for too much data to early 2008-08-29 01:20:25 +02:00
Lennart Poettering
3ec4a5db99 rework volume/mute APIs: split out pa_xx_set_soft_volume() and add force_refresh argument to read functions 2008-08-13 13:55:58 +02:00
Lennart Poettering
1f10ca4e4b don't break if we fail to resume access to an audio device 2008-07-23 16:50:16 +02:00
Lennart Poettering
2b764d4294 fix crash when using sync'ed streams 2008-06-27 00:28:42 +02:00
Lennart Poettering
eab1cb8df9 make sure to call process_rewind() under all circumstances before we do the next loop iteration 2008-06-26 02:56:00 +02:00
Lennart Poettering
947d8b4c09 execute detach callback before we change the state to UNLINKED 2008-06-21 02:24:59 +02:00
Lennart Poettering
37bc240ee9 allow sinks to be created with max_request initialized to 0, so that the data can be filled in later when attaching to some piggybacked sink 2008-06-21 02:24:23 +02:00
Lennart Poettering
add6c0361a Rework module-combine to work with glitch-free core; add new max_request field to pa_sink 2008-06-20 22:32:41 +02:00
Lennart Poettering
8ae83d618e get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
Lennart Poettering
b27cc1d426 fix a bad memory access pulsecore/client.c
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2527 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-06-13 21:56:19 +00:00
Lennart Poettering
d65b901e37 fix daemon shutdown with active monitor streams
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2469 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-18 23:56:16 +00:00
Lennart Poettering
7e5e015cbe link latency of monitor source to sink
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2457 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-17 09:14:47 +00:00
Lennart Poettering
045c1d602d merge glitch-free branch back into trunk
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2445 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-15 23:34:41 +00:00
Lennart Poettering
86b9ef8c96 deal with a possibly failing pa_channel_map_init_auto() correctly
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2105 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-02-13 22:13:44 +00:00
Lennart Poettering
14a9b80afb - Check process name when dealing with PID files
- Add new PA_STREAM_FIX_CHANNELS, FIX_RATE, FIX_FORMAT, DONT_MOVE, VARIABLE_RATES to pa_sream_flags_t adn implement it
- Expose those flags in pacat
- Add notifications about device suspend/resume to the protocol and expose them in libpulse
- Allow changing of buffer_attr during playback
- allow disabling for remixing globally
- hookup polkit support


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2067 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-21 01:30:40 +00:00
Lennart Poettering
a67c21f093 merge 'lennart' branch back into trunk.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1971 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-28 19:13:50 +00:00
Pierre Ossman
06211b7c8f Add copyright notices to all relevant files. (based on svn log)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1426 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-02-13 15:35:19 +00:00
Pierre Ossman
521daf6f0a Huge trailing whitespace cleanup. Let's keep the tree pure from here on,
mmmkay?


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-01-04 13:43:45 +00:00
Pierre Ossman
8dc6214276 Revert r1404 and keep it on a development branch until it is fully tested.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1409 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-11-06 13:06:01 +00:00
Lennart Poettering
d210ebbb09 rework memory block management to be thread-safe and mostly lock-free.
pa_memblock is now an opaque structure. Access to its fields is now done
through various accessor functions in a thread-safe manner.

pa_memblock_acquire() and pa_memblock_release() are now used to access the
attached audio data. Why? To allow safe manipulation of the memory pointer
maintained by the memory block. Internally _acquire() and _release() maintain a
reference counter. Please do not confuse this reference counter whith the one
maintained by pa_memblock_ref()/_unref()!

As a side effect this patch removes all direct usages of AO_t and replaces it
with pa_atomic_xxx based code.

This stuff needs some serious testing love. Especially if threads are actively
used.



git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1404 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-26 23:50:56 +00:00
Lennart Poettering
e385d93e5a remove all occurences of
pa_logXXX(__FILE__":  
   
and replace them by 
  
   pa_logXXX("



git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1272 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 21:38:40 +00:00
Lennart Poettering
0e436a6926 Rework memory management to allow shared memory data transfer. The central idea
is to allocate all audio memory blocks from a per-process memory pool which is
available as read-only SHM segment to other local processes. Then, instead of
writing the actual audio data to the socket just write references to this
shared memory pool.

To work optimally all memory blocks should now be of type PA_MEMBLOCK_POOL or
PA_MEMBLOCK_POOL_EXTERNAL. The function pa_memblock_new() now generates memory
blocks of this type by default.



git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1266 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18 19:55:18 +00:00
Lennart Poettering
8180832898 properly implement a pa_sink_disconnect() hook
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1243 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-13 17:33:32 +00:00