Commit graph

90 commits

Author SHA1 Message Date
Zack Middleton
5795be68f6 Make OpenAL buffer management work on OS X
Don't assume we have unlimited OpenAL buffers.
Detach buffers from sources by setting AL_BUFFER to 0. Cannot delete buffers on OS X immediately after alSourceUnqueueBuffers.
Free unprocessed stream and music buffers.
Free unused sfx buffers when sound file exists and fails loading into OpenAL (though I haven't seen it fail).
2013-11-10 22:55:35 -06:00
Zack Middleton
a836c2db89 Drop sounds starting with * before allocating sfx slot
Causes handle 0 to be returned by S_RegisterSound.
2013-10-09 09:51:32 -05:00
Zack Middleton
3d69ae9995 Fix OpenAL music stop issues using stream stop code
S_AL_StopBackgroundTrack would sometimes generate AL errors.
S_AL_MusicSourceFree needs to kill source or next track may have short looping buffer.
2013-08-16 15:29:12 -05:00
Jonathan Gray
3234d2b141 dlopen libopenal.so not libopenal.so.1 on OpenBSD 2013-05-05 11:28:54 +10:00
Tim Angus
98360bcd57 Fix some of the things clang --analyze flagged 2013-03-26 16:50:03 +00:00
Tim Angus
d201443350 Remove a few name tags 2013-02-16 21:03:56 +00:00
Zack Middleton
3da8779180 - Check for invalid filename in OpenAL's RegisterSound function.
- Changed Base sound system to warn not error when sound filename is empty or too long.
2012-11-19 00:40:03 +00:00
Zack Middleton
82f83cd092 Fix some "> MAX_*" to be ">= MAX_*". 2012-11-18 19:09:54 +00:00
Zack Middleton
d49d0753eb When in third person, don't play player's sounds as full volume in Base sound system. OpenAL already does this. (Related to bug 5741.) 2012-10-17 20:39:45 +00:00
Zack Middleton
ce9f2ee5f9 Check last listener number instead of clc.clientNum in S_AL_HearingThroughEntity so sound work correctly when spectate following a client. (Related to bug 5741.) 2012-10-17 19:30:41 +00:00
Zack Middleton
f3e7012bdb REFACTOR [a vs an]
From /dev/humancontroller.
2012-06-18 16:31:16 +00:00
Thilo Schulz
23f6fd1633 Bug 5094 - Code cleanup, patch by Zack Middleton and DevHC. Fixes unused-but-set gcc warnings 2011-07-29 12:27:00 +00:00
Thilo Schulz
2349148cf1 - Apply parts of Ben Millwood's target bitfield patch (#3787)
- Fix Ryan's FIXME and have voip packet buffer on the server dynamically allocated via Z_Malloc and store pointers in a circular buffer
- Improve voip target parsing on top of Ben Millwood's patch
- Add new "spatial" target where speaker is spatialized in 3d space and can be heard by all clients in hearing range (s_alMaxDistance)
  (#4467)
- Decrease voip sound lengths from 240ms to 80ms per voip packet to mitigate udp packet loss and decrease latency
- Protocol version incremented to 71
2011-07-27 15:47:29 +00:00
Thilo Schulz
1972bf97db Fix client crash on windows with old OpenAL 2011-07-22 16:43:27 +00:00
Thilo Schulz
4c5e9963e3 Fix compile for USE_VOIP=0 2011-07-16 11:14:20 +00:00
Thilo Schulz
a5f31084d4 - Fix memory leak in DMA sound after S_Shutdown()
- Make codec load use temp hunk memory instead of zone mem
- Fix sound issues with direct sound and game_restart (#4526)
2011-06-17 23:29:19 +00:00
Thilo Schulz
c95bd0a684 Remove newlines from Com_Error message format strings, patch by DevHC 2011-05-12 14:02:48 +00:00
Thilo Schulz
379dfbf496 - Properly use ALC_ALL_DEVICES_SPECIFIER in sound info
- Properly use ALC_CAPTURE_DEVICE_SPECIFIER in sound info
2011-03-14 16:36:40 +00:00
Tim Angus
e0eb1b4227 * Fix whitespace 2011-03-14 16:04:49 +00:00
Thilo Schulz
182b344818 - Remove alext.h dependency and manually add the required macros
- Use ALC_DEFAULT_ALL_DEVICES_SPECIFIER instead of ALC_DEFAULT_DEVICE_SPECIFIER if extension exists
2011-03-14 15:57:39 +00:00
Thilo Schulz
bce3848523 Make buffers for device lists a bit longer. Just in case. 2011-03-11 13:53:22 +00:00
Thilo Schulz
a3def2744f - Fix a compiler warning
- Fix the detection of the enumeration extensions
- Fix default device for s_alInputDevice
- Adjust formatting of S_AL_Info output
2011-03-09 23:34:15 +00:00
Thilo Schulz
7ca1dc6f8b - I accidentally committed patch by slacker from (#4915) in r1916. Patch adds input device selection support
- Add check for ALC_ENUMERATE_ALL_EXT before using ALC_ALL_DEVICES_SPECIFIER in device enumeration
- Patch readme for new cvars by Zack Middleton
2011-03-09 12:59:25 +00:00
Thilo Schulz
8c3f320504 (#3767) Some protection from malicious qvms - patches and ideas by Amanieu d'Antras and Ben Millwood 2011-03-08 01:39:34 +00:00
Zachary Slater
275d3b45b5 Patch from /dev/humancontroller (thx) 2011-01-27 07:00:35 +00:00
Thilo Schulz
eb2860f756 Fix "unhandles OpenAL error", and sound fallback behaviour for model files. Thanks Ansa89 for reporting, and Zack Middleton for the patch. 2010-08-29 18:11:15 +00:00
Thilo Schulz
2a0812bc06 Mute sounds with 0 volume when game is minimized/unfocused instead of Stopping all sounds. Fixes (#4336) 2009-11-10 01:08:15 +00:00
Thilo Schulz
e345f9f81f New batch of fixes for the OpenAL part:
- Don't play sources outside the listening range (Thanks Kpaxian for bringing this to my attention)                                                         
 - Handle previously unhandled errors for old OpenAL sample implementation which does not support AL_SEC_OFFSET (sounds won't be synchronized then),
   thanks to Tequila from SmokingGuns for reporting this.
2009-10-27 11:13:33 +00:00
Thilo Schulz
0ecfcfa872 Make not playing loop sources weaker in priority, so if we have reached the maximum number of sources, inaudible loops are removed first. 2009-10-26 23:20:05 +00:00
Thilo Schulz
0adae90465 Fix another issue I didn't know about: cgame does not kill sound loops it startet, just stops sending the entity information for these loops. Changed it so that loops added with AddLoopingsound() are being killed again as soon as the entity to the source is not sent anymore. 2009-10-26 05:02:18 +00:00
Thilo Schulz
3c501df298 A few more last fixes that will handle some special cases 2009-10-24 08:33:12 +00:00
Thilo Schulz
1ea420e8a8 Better stop than just pause. 2009-10-23 23:51:00 +00:00
Thilo Schulz
898f1ed2f7 Don't kill sources out of range, just pause them. Make sure the listener gets the impression sources have been continuing to run in the background. 2009-10-23 23:32:52 +00:00
Thilo Schulz
465c6101e0 remove redundancy 2009-10-23 12:30:00 +00:00
Thilo Schulz
d12751f62b Synchronize looping ambient sounds (#2984) 2009-10-23 12:18:49 +00:00
Thilo Schulz
290f51e353 - Change default openal lib to libopenal.so.1
- USE_OPENAL_DLOPEN=1 now default
2009-10-13 15:39:39 +00:00
Thilo Schulz
fc539dc46a Improve OpenAL error handling, patch by Ben Millwood. https://bugzilla.icculus.org/show_bug.cgi?id=3776 2009-10-13 15:23:17 +00:00
Ludwig Nussel
b35c63f37a don't modify s_alDevice and add fallback to let openAL choose the device 2009-05-08 09:13:06 +00:00
Ludwig Nussel
de19303320 mark s_alDriver CVAR_LATCH 2009-05-08 09:13:03 +00:00
Tim Angus
53adde9fb2 * Fix leaking OpenAL buffers (Amanieu) 2009-03-15 12:39:53 +00:00
Ludwig Nussel
5a3eda3485 specify alDevice instead of NULL when asking for for ALC_EXTENSIONS
patch by Ben Millwood (#3777)
2008-11-02 17:32:25 +00:00
Tim Angus
2cf5052786 * (bug 3674) Change default for s_alGain from 0.4 to 1.0 2008-08-08 18:27:06 +00:00
Tim Angus
d13269c5bb * Restrict OpenAL capture support test hack to OS X, where it is required; this
fixes a crash on exit with Windows when using OpenAL
2008-08-03 19:31:42 +00:00
Tim Angus
37d664d4b2 * Rename voip cvar to cl_voip
* s/#if USE_VOIP/#ifdef USE_VOIP/
* Add generalised runtime cvar range checking, currently on [sv|cl]_voip,
  dedicated and a bunch of r_ variables
2008-07-07 22:31:39 +00:00
Ryan C. Gordon
26c706df15 VoIP: Don't hardcode Speex sample rate. 2008-06-07 14:38:46 +00:00
Ryan C. Gordon
b5eaa94d03 Changed a few VoIP cvars to be latched.
It either doesn't make sense to change these mid-game, or doing so won't work.
2008-06-01 18:10:33 +00:00
Ryan C. Gordon
12326a9eac Initial patch for in-game VoIP support! 2008-06-01 07:51:23 +00:00
Tim Angus
a857487f9b * Fix a bunch of compile warnings
* Only call pkg-config if it exists
* Remove cl_consoleHistory from README
2008-05-10 18:51:02 +00:00
Tim Angus
25ac1317b1 * Remove work around for a 2 year old OpenAL bug that now actually causes a
crash on snd_restart
2007-11-11 22:15:25 +00:00
Tim Angus
7562caa310 * Move the conditional compilation of bg_lib.c from the Makefile to cpp in
order to force dependency generation on bg_lib.*
* Make testing USE_ defines more consistent
2007-09-22 20:32:11 +00:00