Lennart Poettering
ed01e1adb5
don't hit an assert when we cannot resume a device
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1599 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-09 17:52:13 +00:00
Lennart Poettering
df9522cb8c
properly reinitialize pollfd array after resume
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1590 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-08 21:20:20 +00:00
Lennart Poettering
54b9f55d2e
properly reinitialize pollfd array after resume
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1589 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-08 20:52:52 +00:00
Lennart Poettering
95fab184d5
Don't stop hardware on buffer underruns. Instead continue playing to guarantee that our time function stays as linear as possible.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1566 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-03 23:48:52 +00:00
Lennart Poettering
a6c44c0e50
Remove unnecessary snd_pcm_hwsync()
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1565 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-03 22:41:27 +00:00
Lennart Poettering
9a4e84ade9
On recommendation of Takashi Iwai prefer Master volume control over PCM and don't control Mic control
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1564 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-08-03 22:39:18 +00:00
Lennart Poettering
0defdfb560
A lot of updates, all necessary to get the native protocol ported:
...
* add an int64_t argument to pa_asyncmsgq because it is very difficult to pass 64 values otherwise
* simplify subclassing in pa_object
* s/drop/unlink/ at some places
* port the native protocol to the lock-free core (not tested, compiles fine)
* move synchronisation of playback streams into pa_sink_input
* add "start_corked" field to pa_sink_input_new_data
* allow casting of NULL values in pa_object
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1562 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-31 22:44:53 +00:00
Lennart Poettering
13a4327c1f
minor cleanups
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1560 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-28 23:49:39 +00:00
Lennart Poettering
1615450767
It is now allowed to call pa_sink_get_volume() from thread context
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1557 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-28 22:55:12 +00:00
Lennart Poettering
8aee345ccb
Fix suspending/resuming
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1556 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-28 21:00:16 +00:00
Lennart Poettering
10cb0483d9
restore proper mixer volume control
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1554 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-28 19:30:10 +00:00
Lennart Poettering
787f93533c
port module-alsa-sink to new lock-free core. also add mmmap'ing support while doing so.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1551 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-07-28 17:24:28 +00:00
Lennart Poettering
00da37f2c4
Merge HUGE set of changes temporarily into a branch, to allow me to move them from one machine to another (lock-free and stuff)
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1469 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-06-11 12:08:37 +00:00
Pierre Ossman
2b82336df2
Handle suspended alsa devices. Based on patch by ranma. ( closes #26 )
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1433 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-03-02 09:20:54 +00:00
Pierre Ossman
bb812433a8
Handle when ALSA tweaks our sample spec so much that the frame size changes.
...
(closes #57 ).
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1431 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-03-01 17:13:26 +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
dbe6bdd2bc
make use of pa_sink_used_by()/pa_source_used_by() wherever applicable
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1227 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 17:06:05 +00:00
Lennart Poettering
bf79e97591
generate default sink/source names from the device files they belong to
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1223 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-12 16:26:59 +00:00
Lennart Poettering
bfa6604b1d
don't set the sink/source descriptions manually, use the new functions pa_{sink,source}_set_description() instead
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1205 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-11 23:58:55 +00:00
Lennart Poettering
bfff23db10
shorten sink/source device descriptions a little
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1201 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-11 17:14:35 +00:00
Lennart Poettering
7a4e1c9a0e
ALSA: handle write()/read() errors properly by unloading the driver module. This should fix problems when removing USB audio device while pulseaudio is running.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1194 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-11 15:08:09 +00:00
Lennart Poettering
5d8ccfd839
try to reduce volume updates in the ALSA sinks/sources: only touch the shadowed hw volme if necessary
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1189 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-07 16:50:15 +00:00
Lennart Poettering
b91dd2381b
set is_hardware flag for a few hw plugins
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1092 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-07-16 17:28:41 +00:00
Lennart Poettering
84907e6716
fix segfault when module-alsa-source fails to load
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1049 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-06-20 21:23:10 +00:00
Lennart Poettering
f44ba09265
big s/polyp/pulse/g
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1033 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-06-19 21:53:48 +00:00
Lennart Poettering
64fa5b882f
* alsa-sink: if "PCM" is not found as mixer track name, fallback to "Master"
...
* alsa-source: if "Capture" is not found as mixer track name, fallback to "Mic"
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@993 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-30 22:48:17 +00:00
Lennart Poettering
bb820db4b5
* if an ALSA device doesn't support the channel count requested, use what ALSA suggests instead
...
* if an ALSA device doesn't support the sampling freq requested, use what ALSA suggests and resample if this deviates more than 10% from what we requested
* fix segfault freeing an unitialized mixer_fdl field
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@992 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-30 22:05:07 +00:00
Lennart Poettering
c47e937011
split polypcore/util.[ch] into polypcore/core-util.[ch] and polyp/util.[ch]
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@917 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-17 20:09:57 +00:00
Pierre Ossman
d9cc2cfcb9
Move xmalloc to the public side (libpolyp).
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@908 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-17 16:34:18 +00:00
Lennart Poettering
4b6ab291a7
* modify pa_channel_map_init_auto() to take an extra argument specifying the standard to use (ALSA, AIFF, ...)
...
* add some more validity checks to pa_source_new(),pa_sink_new(),pa_sink_input_new(),pa_source_output_new()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@888 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-16 23:47:38 +00:00
Lennart Poettering
d419d87a73
remove superfluous log line
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@864 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-14 16:17:38 +00:00
Lennart Poettering
0f22d63289
* set default fragment metrics depending on the sample specs of the device in OSS and ALSA
...
* fix fragment size calculation in module-alsa-sink
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@855 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-13 21:20:34 +00:00
Lennart Poettering
b6812029ba
use default alsa channel map for alsa devices
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@851 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-13 20:29:32 +00:00
Pierre Ossman
6060bff186
When a control is removed, all bits are set so we need to test for that first.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@819 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-28 07:29:32 +00:00
Lennart Poettering
185a57cadd
support new channel_map argument in sink/source modules
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@803 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-26 15:40:14 +00:00
Pierre Ossman
69096f2753
Fall back to software volume if hardware mixer cannot control all channels.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@796 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-25 07:54:49 +00:00
Lennart Poettering
a74253606f
clip volume at PA_VOLUME_NORM for alsa devices
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@666 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-08 00:19:52 +00:00
Lennart Poettering
4af16e43cb
minor cleanups
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@659 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-04-07 22:45:08 +00:00
Pierre Ossman
acb96c96fd
Fix some warnings caused by size_t having varying size.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@641 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-03-31 08:54:24 +00:00
Pierre Ossman
53c266f663
Fetch sound card name into sink/source description.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@631 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-03-05 20:59:57 +00:00
Pierre Ossman
7b6a9c3829
Tried to get the volume information even upon init failure.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@626 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-03-05 15:42:37 +00:00
Pierre Ossman
1e68539dc4
Get notifications about mixer changes from ALSA.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@607 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-02-26 21:50:55 +00:00
Pierre Ossman
ae07d5abd5
Handle ALSA file descriptors more correctly. This means a bit more overhead,
...
but following their API properly should avoid problems in the future.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@606 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-02-26 19:09:26 +00:00
Pierre Ossman
b125e1c9d5
Hardware volume support in ALSA modules.
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@604 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-02-26 17:57:58 +00:00
Lennart Poettering
4a64b0d116
change pa_log() and friends to not require a trailing \n on all logged strings
...
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@574 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-02-23 02:27:19 +00:00