Chris Robinson
2f644c7ed5
Constify some globals
2010-02-15 22:01:23 -08:00
Chris Robinson
d17c4a098c
Avoid probing for devices on lib initialization
2010-02-10 16:34:43 -08:00
Chris Robinson
96303893bc
Set ALSA playback buffer and period size based on time
...
So rate adjustments won't modify the latency
2010-02-08 17:42:44 -08:00
Chris Robinson
a329f9c84a
Fix retrieval of the current global context when changing it
2010-02-08 16:58:26 -08:00
Chris Robinson
fc96e965ae
Always disable ALSA's resampler for playback
...
This means the frequency config option won't have an effect if the ALSA device
can't set an alternate sampling rate
2010-02-08 16:38:53 -08:00
Chris Robinson
3a87c3c3ba
Avoid using periods with PulseAudio, and add an option to specify its buffer length
2010-02-07 19:29:48 -08:00
Chris Robinson
78c1629aeb
Disable ALSA's resampler when no specific output rate is requested
2010-02-05 11:45:17 -08:00
Chris Robinson
bd518ed264
Make sure all requested data gets written to PulseAudio
2010-01-24 00:03:23 -08:00
Chris Robinson
56379bffac
Use pa_channel_map_superset only when available with PulseAudio 0.9.15
...
pa_channel_map_equal can otherwise detect some compatible output modes
2010-01-22 21:20:08 -08:00
Chris Robinson
11d7a0e394
Specify the buffer size to ALSA, so the period count remains flexible
...
Under conditions where the period size is fixed (such as dmix), ALSA will still
attempt to provide the requested number of periods even if the requested period
size needs to be dramatically altered. In these cases, it would be better to
increase or decrease the period count, instead of growing or shrinking the
total buffer size and significantly changing the latency.
2010-01-20 01:19:32 -08:00
Chris Robinson
931f5875cd
Fix speaker angle fixup
2010-01-12 09:11:46 -08:00
Chris Robinson
f22b02a762
al_print doesn't need to be inline
2010-01-12 09:05:57 -08:00
Chris Robinson
505f61ff43
Properly trace the invalid speaker angle
2010-01-12 08:50:32 -08:00
Chris Robinson
5921e18be2
Fix some typos with the solaris backend
2010-01-12 08:28:07 -08:00
Chris Robinson
5b9e6fe440
Only allow 8- and 16-bit, and mono and stereo, wave file output
2010-01-12 08:26:25 -08:00
Chris Robinson
574792d2e1
Fix Windows compilation
2010-01-11 23:47:03 -08:00
Chris Robinson
ab2eb5a603
Check buffer size when copying padding instead of the data pointer
2010-01-11 10:58:33 -08:00
Chris Robinson
3d7f925d52
Add helpful values to the resampler enum
2010-01-11 07:02:29 -08:00
Chris Robinson
93b584ff84
Add a cosine resampler
2010-01-11 06:19:54 -08:00
Chris Robinson
705849ca73
Add an option for point resampling
2010-01-11 05:37:20 -08:00
Chris Robinson
1a57f095e8
Hold global lock during mixing only when iterating device contexts
2010-01-11 03:57:49 -08:00
Chris Robinson
ac9c2e8c4a
Cleanup OSS/Solaris loop a bit
2010-01-10 12:40:59 -08:00
Chris Robinson
45f8efec41
Return the default config string for empty entries
2010-01-09 06:48:43 -08:00
Chris Robinson
ef7df2416d
Hide OSS and Solaris devices if their files can't be stat'd
2010-01-09 06:40:50 -08:00
Chris Robinson
cb113315f7
Promote AL_EXT_source_distance_model to complete
2010-01-09 03:27:16 -08:00
Chris Robinson
d61f90a9c2
Make sure the device handle is valid when getting the device error
2010-01-09 03:25:13 -08:00
Chris Robinson
3d11fb219e
Hold the default context extensions globally
2010-01-09 02:48:18 -08:00
Chris Robinson
4d9a368f96
Suppress connection refused errors
...
Since that just typically means the server isn't running
2010-01-08 01:43:27 -08:00
Chris Robinson
43220b604c
Reduce some indentation
2010-01-08 01:21:57 -08:00
Chris Robinson
91f28fa87c
Try the PulseAudio backend first
2010-01-08 01:08:27 -08:00
Chris Robinson
82547db2db
Prepare the pcm handle after recovering
2010-01-06 23:02:28 -08:00
Chris Robinson
64ac3a4739
Use snd_pcm_recover in more places
2010-01-06 22:55:20 -08:00
Chris Robinson
c90616b963
Use snd_pcm_recover to recover from certain device errors
2010-01-06 22:50:30 -08:00
Chris Robinson
0ceaa01c3d
Adjust PulseAudio's capture latency
2009-12-30 15:33:16 -08:00
Chris Robinson
7d7e503603
Properly retrieve device-inspecific errors
2009-12-28 23:29:49 -08:00
Chris Robinson
7ee81eac0f
Store ALC errors with the device when possible
2009-12-28 23:19:13 -08:00
Chris Robinson
c9a08fc7b2
Remove some unneeded functions
2009-12-28 13:12:45 -08:00
Chris Robinson
69ab93a824
Add a function to check if a config option is set to a non-empty value
2009-12-28 13:08:15 -08:00
Chris Robinson
179b660eee
Enforce a lower bound playback frequency of 8khz
2009-12-28 12:47:59 -08:00
Chris Robinson
a0ef7be9a5
Improve layout parsing and allow using long names for speakers
2009-12-28 11:49:55 -08:00
Chris Robinson
2a735b14dc
Add an option to spawn a PulseAudio server on request
2009-12-28 10:49:31 -08:00
Chris Robinson
a294dd8d9b
Be more lenient in signaling the mainloop
2009-12-28 10:15:59 -08:00
Chris Robinson
dc1522282b
Try to find a compatible format from Pulse's default sink
2009-12-27 11:05:59 -08:00
Chris Robinson
528a4c6a02
Update panning for existing AL contexts when creating a new one
2009-12-26 20:27:14 -08:00
Chris Robinson
1770a8b62b
A NULL Pulse context won't have a valid error code
2009-12-26 12:18:16 -08:00
Chris Robinson
77a0a6de95
Wait for the buffer attrib update from pulse to finish
2009-12-26 11:30:41 -08:00
Chris Robinson
c1fd977e79
Consolidate pulse capture failure path
2009-12-26 10:46:29 -08:00
Chris Robinson
cbbda93292
Make sure a proper channel map is set for pulse capture
2009-12-26 09:17:03 -08:00
Chris Robinson
c6340ce12d
Clean up some loading checks
2009-12-26 08:49:11 -08:00
Chris Robinson
7bc739e965
Use the proper logging function
2009-12-26 08:16:25 -08:00