Chris Robinson
5d1c3a0c63
Fix wave writer backend
2009-09-12 19:58:36 -07:00
Chris Robinson
396f2d6050
Mix the proper size for every update, and notify disconnects
2009-09-12 19:36:16 -07:00
Chris Robinson
e25b01c3a2
Start Solaris playback when a context is ready
2009-09-12 18:19:52 -07:00
Chris Robinson
d6d1dba3d2
Initialize OpenAL with a constructor call instead of first-use
2009-09-12 17:49:08 -07:00
Chris Robinson
8b36a9d121
Get rid of deinit code duplication
2009-09-12 17:29:35 -07:00
Chris Robinson
59ed9338d8
Add support for the in-progress ALC_EXT_thread_local_context extension
2009-09-12 16:45:46 -07:00
Chris Robinson
b444dea63b
Fix compilation for Windows
2009-08-28 06:33:59 -07:00
Chris Robinson
1816c8bd37
Make a copy of the default device name for the app
...
The pointer to it could otherwise change if the device list is rebuilt, which
would be bad if the app has it
2009-08-27 20:13:35 -07:00
Chris Robinson
c27948a7ee
Don't free a NULL handle
2009-08-27 19:01:12 -07:00
Chris Robinson
832dc8a585
Remove unnecessary vars and rework device name checks
2009-08-27 18:55:18 -07:00
Chris Robinson
bb121e68a6
Rebuild device lists when retrieving them
2009-08-27 06:09:33 -07:00
Chris Robinson
1ec26fd789
Dynamically allocate device lists
2009-08-27 03:55:36 -07:00
Chris Robinson
4ff4a7e3b9
Close some libs when deinitializing
2009-08-27 03:12:54 -07:00
Chris Robinson
6bb14e45ce
Store a copy of the device name in the device
2009-08-27 02:53:09 -07:00
Chris Robinson
45dc804819
Store copies of the device names in the individual backends
2009-08-27 01:47:41 -07:00
Chris Robinson
81db01ebf1
Add a method to deinitialize backends
2009-08-26 23:45:00 -07:00
Chris Robinson
06c576a945
Support disconnect for OSS and Solaris
2009-08-26 21:49:38 -07:00
Chris Robinson
929b025fd6
Support disconnect for ALSA playback and capture
...
As a consequence for capture, mmap is no longer supported. Later on, supporting
mmap capture to write directly into the ring buffer is a possibility.
2009-08-26 21:27:10 -07:00
Chris Robinson
7976de05a5
Add base support for ALC_EXT_disconnect
...
Individual backends need to be updated to handle disconnection events
2009-08-26 19:15:17 -07:00
Chris Robinson
276ee63b99
Define PATH_MAX if it isn't already
2009-08-19 12:59:40 -07:00
Chris Robinson
487f0dde75
Print source and auxiliary slot debug warnings from alcDestroyContext
2009-08-16 16:11:22 -07:00
Chris Robinson
462f27c129
Use a function to retrieve the current context in an already-locked state
...
This should help prevent race-conditions with a context being destroyed between
breing retrieved and locked
2009-08-16 14:09:23 -07:00
Chris Robinson
2d1191697a
Fix the Solaris backend
2009-08-16 13:16:41 -07:00
Chris Robinson
0b7eb9f118
Add in-progress working extension AL_EXTX_sample_buffer_object
2009-08-16 00:54:08 -07:00
Chris Robinson
dc26261065
Support 32-bit float output
2009-08-15 13:20:35 -07:00
Chris Robinson
9bea67fb1c
Use a function to convert float to unsigned byte
2009-08-15 11:33:38 -07:00
Chris Robinson
8246bc3418
Use a custom function to get the requested format
2009-08-15 10:32:54 -07:00
Chris Robinson
01e32b58da
Fix some size checks
2009-08-15 10:01:55 -07:00
Chris Robinson
9d05ff0468
Verify the device pointer is a valid device
2009-08-15 09:55:08 -07:00
Chris Robinson
510ccc7f17
Store the effect and filter lists in the device
2009-08-15 09:39:18 -07:00
Chris Robinson
43067ed2b8
Store the buffer list in the device
2009-08-15 09:14:08 -07:00
Chris Robinson
4e4c9aef15
Calculate the buffer size and frame size when needed
2009-08-14 13:08:25 -07:00
Chris Robinson
4031ee5ef0
Fix speaker override check
2009-08-14 07:27:19 -07:00
Chris Robinson
e079291202
Remove unnecessary function parameters
2009-08-13 19:36:14 -07:00
Chris Robinson
826c641668
Hold the lock while finding a capture device to open
2009-08-13 19:19:16 -07:00
Chris Robinson
6ae845fd9e
Don't let the device frequency change when PortAudio gets a new context
2009-08-13 17:13:37 -07:00
Chris Robinson
a78fd58dca
Create PulseAudio's playback stream when the AL context is created
2009-08-13 17:08:47 -07:00
Chris Robinson
a8ae610489
Set context frequency only if it successfully starts
2009-08-13 15:35:10 -07:00
Chris Robinson
45552a68ce
Hold the lock while initializing context playback
2009-08-13 13:32:42 -07:00
Chris Robinson
d46655fbb2
Support the ALC_FREQUENCY context attribute
2009-08-13 13:28:35 -07:00
Chris Robinson
87fee8c504
Start DSound playback at context creation
2009-08-13 13:11:05 -07:00
Chris Robinson
9ff0617807
Don't clamp the wave writer's update size
2009-08-13 12:35:42 -07:00
Chris Robinson
243939f94f
Allow delaying playback start until context creation, and don't use UpdateSize to store the buffer size
...
This will make it possible to support the context attributes (frequency,
refresh, etc) for some backends
2009-08-13 12:28:46 -07:00
Chris Robinson
a8973514ba
Don't load functions if libpulse failed to open
2009-07-07 12:51:18 -07:00
Chris Robinson
0ac9e57d28
Store the requested mono/stereo source count and sends in the device
...
Although the properties are set as context attributes, they are queried from
the device. If multiple contexts per device are ever supported, it would not
be straight forward about where to read the values from. This way, the
attributes can be treated as device-specific attributes that are updated when
a new context is created.
2009-07-06 03:09:01 -07:00
Chris Robinson
5460e85c40
Set the right access mode for non-mmap capture
2009-07-02 20:50:12 -07:00
Chris Robinson
432f0ba34c
Specify the right format for ALSA recording
2009-07-02 20:32:19 -07:00
Chris Robinson
7e01e53445
Fix parsing of layout configuration string
2009-07-02 20:31:36 -07:00
Chris Robinson
ef68e5d0ff
Protect ring buffer access with the lock
2009-06-07 21:34:05 -07:00
Chris Robinson
c6f3a4e062
Move a couple inline functions into the header
2009-06-07 20:16:41 -07:00