Commit graph

72 commits

Author SHA1 Message Date
Lennart Poettering
c7fff97782 move alsa and oss modules into their own subdirectories 2009-01-15 21:02:01 +01:00
Lennart Poettering
bae221cca9 rework module usage counter stuff to be pull based 2009-01-15 20:49:12 +01:00
Lennart Poettering
d2757c9842 redirect folks to the ALSA developers not me when their sound drivers are broken 2009-01-15 19:16:55 +01:00
Lennart Poettering
407b4fe5be fix calculation of avail_min 2009-01-14 00:06:40 +01:00
Lennart Poettering
c2002dcd1f Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio 2009-01-08 21:18:15 +01:00
Lennart Poettering
e5c093897e A few minor cleanups and updates 2009-01-08 21:13:18 +01:00
Lennart Poettering
c2450501af Prefer mixer controls with volumes over switches
When we look for a mixer control prefer controls that have both volume
and a mute switch over those that have only a volume switch over those
that only have a mute switch.

Originally pointed out by Adel Gadllah.
2009-01-08 01:03:42 +01:00
Lennart Poettering
fb4c111d18 Implement base_volume for ALSA sinks/sources 2008-12-24 00:57:37 +01:00
Lennart Poettering
3294c89adb warn if ALSA wakes us up and there is actually nothing to do 2008-10-22 23:55:52 +02:00
Lennart Poettering
ef9f3f6ec4 Try to catch certain driver errors
... by verifying return values of snd_pcm_avail_update() and
snd_pcm_begin_mmap() for their sanenness.
2008-10-21 20:00:36 +02:00
Lennart Poettering
068afb3478 define 0dB in PA as maximum amplification 2008-10-08 04:02:10 +02:00
Lennart Poettering
a9c1bb3e85 substract the unused record buffer size from the overall size before calculating the space still left for recording 2008-10-04 02:13:39 +02:00
Lennart Poettering
83b1d7a305 get rid of pa_alsa_volume_divide() since we have pa_sw_volume_divide() now 2008-10-04 01:48:13 +02:00
Lennart Poettering
3853070a21 don't hit an assert if a kernel driver reports invalid dB information, instead just warn the user 2008-10-01 04:15:05 +02:00
Lennart Poettering
99acad7782 fix support for ALSA devices which lack dB information 2008-10-01 03:26:45 +02:00
Lennart Poettering
7923731e18 use TRUE for pa_bool_t arguments 2008-09-29 21:36:42 +02:00
Lennart Poettering
0deb6a4b13 minor improvements in debug handling 2008-09-09 02:17:01 +03:00
Lennart Poettering
3a46bbeba5 When returning from a suspend, pass exactly the same flags as originally when
we opened the device.
2008-09-09 00:10:54 +03:00
Lennart Poettering
12c5c62dad Downgrade hrtimer warning to notice level 2008-09-05 00:38:52 +02:00
Lennart Poettering
b7026bf248 add a few more gcc warning flags and fix quite a few problems found by doing so 2008-08-19 22:39:54 +02:00
Lennart Poettering
5cc2187bec add some code to make invalid valgrind warnings go away 2008-08-18 19:55:55 +02:00
Lennart Poettering
8a10eba744 extend hardware dB scale in software to full range if necessary, instead of reverting back to software-only volume control 2008-08-13 13:59:06 +02:00
Lennart Poettering
8ca254c490 fix two uninitialized memory accesses 2008-08-11 19:46:11 +02:00
Lennart Poettering
8ae83d618e get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
Lennart Poettering
7d0b5958a4 use pa_source_set_latency_range()/pa_sink_set_latency_range() in the ALSA drivers; fix sleep time calculation
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2460 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-17 09:57:45 +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
7462ab1aca Rework ALSA mixer channel detection code. This time we actually care about the channel names the ALSA mixer exports for us
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2055 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-13 23:42:15 +00:00
Lennart Poettering
d17bb53d3e Completely rework ALSA device selection code: choose the device to open depending on the requested number of channels and channel map. In most cases it will now suffice to set default-channels=6 to enable 5.1 sound for all devices that support it
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2050 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-13 17:37:44 +00:00
Lennart Poettering
e313fe1b3d tag modules that may only be loaded once at most especially, and enforce that in the module loader
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2043 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-09 18:25:40 +00:00
Lennart Poettering
7bfd1b2f01 make rtprio and nice level actually configurable
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2014 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-11-01 02:58:26 +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
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
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
4413b89d7a * split pa_cstrerror() into its own file polypcore/core-error.[ch]
* fix building of padsp
* remove a warning when compiling padsp.c


git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@972 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-05-25 17:16:55 +00:00