Commit Graph
87 Commits
Author SHA1 Message Date
Glenn Maynard e130d73f88 DSERR_BUFFERLOST handling in DSoundBuf::GetPosition 2006-10-04 02:33:20 +00:00
Glenn Maynard 1f7fe1afd3 include 2006-09-18 22:24:18 +00:00
Chris Danford 7f821e8cfc CString -> RString 2006-01-22 01:00:06 +00:00
Glenn Maynard b6ba17a7bb fix busy looping on slower systems, inefficient buffer filling 2005-11-28 17:17:35 +00:00
Glenn Maynard b948f686cc cleanup 2005-11-25 20:38:03 +00:00
Glenn Maynard 9ed3cde95a cleanup 2005-11-25 18:36:44 +00:00
Glenn Maynard 3bbfe9ebc0 Two tests for not filling a buffer:
if( m_iBufferBytesFilled > m_iWriteAhead )

	int iNumBytesEmpty = m_iWriteAhead - m_iBufferBytesFilled;
	if( iNumBytesEmpty < iChunksize )

The latter, manipulated a bit, is actually:

	if( m_iBufferBytesFilled+iChunksize >= m_iWriteAhead )

These do almost the same thing.  This isn't what was intended.  The
former checks whether we *want* to write another buffer (based on our
preferred writeahead).  The latter was meant to check whether it's *possible*
to fit another chunk into the buffer.  It should check against m_iBufferSize,
not m_iWriteAhead.

This fixes writeahead: 4096 means "write if we have less than 4096 frames
buffered", not "write if writing the new chunk would result in still having
less than 4096 frames buffered".  This is important on slower devices, like
USB headsets.
2005-11-10 22:10:05 +00:00
Glenn Maynard bcf1d288f9 support PREFSMAN->m_iSoundPreferredSampleRate 2005-10-24 02:37:04 +00:00
Glenn Maynard ee5e5dd25a cleanup 2005-10-24 02:28:31 +00:00
Glenn Maynard 3044155ce8 fix crash if DirectSoundCreate fails (eg. no sound devices) 2005-10-22 03:10:53 +00:00
Chris Danford e80dcafbdd tracking down volume related assert 2005-10-07 05:29:33 +00:00
Chris Danford 48ebc53549 return NULL -> return CString() for clarity and efficiency 2005-09-04 16:55:21 +00:00
Glenn Maynard 9213e57569 style cleanup 2005-06-08 21:19:49 +00:00
Thad Ward 5949e5bc90 (this is possibly going to annoy some people, but..)
put all (obvious) MSVC lines in #if defined(_MSC_VER) blocks, primarilly
to allow alternative win32 compilers to be used.
2005-05-11 04:43:54 +00:00
Glenn Maynard 475238dc2d Realtek AC97 Audio workaround 2005-02-08 06:08:18 +00:00
Glenn Maynard 67d777f050 exceptions 2004-12-01 00:06:41 +00:00
Glenn Maynard cac8e02281 log play cursor history on underrun 2004-11-30 23:02:26 +00:00
Glenn Maynard 876d741158 cleanup 2004-11-30 21:43:40 +00:00
Glenn Maynard 8d51f577de copying up DSound fixes from 3.9 2004-10-29 03:06:04 +00:00
Glenn Maynard ccaa552c24 adjust output 2004-10-06 01:18:05 +00:00
Glenn Maynard 6b305bba8b Oops, did this a long time ago (for a23) and forgot to commit it ... 2004-09-20 00:12:59 +00:00
Glenn Maynard cca6dcbad1 last_cursor_pos -> write_cursor_pos 2004-09-10 02:57:47 +00:00
Glenn Maynard 0e9a8755c6 ignore unreasonable prefetches 2004-09-10 02:11:24 +00:00
Glenn Maynard ecc5493c88 don't bother checking for minor underruns if we have a major underrun 2004-09-10 01:49:39 +00:00
Glenn Maynard 7c60eeb61b error check
fix spurious underrun warnings
2004-09-10 01:07:19 +00:00
Glenn Maynard 6b450d396e debug 2004-09-09 00:20:45 +00:00
Glenn Maynard 2accf47cf3 fix false "underruns" 2004-09-07 22:57:53 +00:00
Glenn Maynard f6a9b1477e Improved underrun recovery: doesn't skip arrows for minor underruns,
and can increase writeahead when needed in some cases
2004-09-07 00:33:54 +00:00
Glenn Maynard fa356decdf simplify 2004-09-06 09:53:41 +00:00
Glenn Maynard 28f0a1b736 fix volume calc; meant to change the comment but not the equation
make sure setting volume to 0 works
2004-09-05 06:05:56 +00:00
Glenn Maynard c5ec5aa56b fix SetVolume 2004-09-05 05:55:36 +00:00
Glenn Maynard eda61958f7 error check 2004-09-05 01:49:42 +00:00
Glenn Maynard f4bfdbef94 fix comment
sanity checks
2004-08-27 04:53:00 +00:00
Glenn Maynard e76553c9cc fix warning output 2004-08-26 04:36:35 +00:00
Glenn Maynard 46d0b2e2f6 cleanup; check primary buffer format 2004-08-14 19:53:15 +00:00
Chris Danford 6bd2a34271 Xbox builds again 2004-06-20 01:35:25 +00:00
Steve Checkoway a613d4d9fa s/RAGE_ASSERT/ASSERT/ 2004-06-16 00:38:31 +00:00
Glenn Maynard 811845d38b don't log the GUID; it's not useful 2004-06-06 08:10:22 +00:00
Glenn Maynard d84fa85bb1 try to log audio driver file versions 2004-06-06 07:23:15 +00:00
Glenn Maynard aa73bb0444 license update 2004-05-15 20:28:17 +00:00
Glenn Maynard d10e81c274 log hardware sample rates 2004-03-26 06:48:36 +00:00
Glenn Maynard ea9c722a4e only log directsound drivers once 2004-03-26 06:39:29 +00:00
Glenn Maynard 436d3bc65e disable assert 2004-03-05 03:20:57 +00:00
Glenn Maynard be5ad80f08 cleanup 2004-03-05 02:41:43 +00:00
Glenn Maynard be746862a5 work around AudioPCI driver bug (can't test to see if this actually works) 2004-02-27 06:47:07 +00:00
Glenn Maynard 32b39d5730 underrun detection fix 2004-02-25 00:14:30 +00:00
Glenn Maynard 0bb5338ba9 simplify; make sure buffer_bytes_filled is never negative 2004-02-25 00:06:52 +00:00
Glenn Maynard cc5a015a5f diagnostic 2004-02-18 08:23:33 +00:00
Glenn Maynard e80e0a2a25 cleanup 2004-02-15 04:34:51 +00:00
Glenn Maynard 8de7ef8496 cleanup 2004-02-07 20:50:42 +00:00