# HG changeset patch # User nenolod # Date 1164946830 28800 # Node ID eb5d48fcf8eaea29e7fcea2c7e8f34c88f173a17 # Parent 3b3887985a5cd43879692003f7323d37045356f1 [svn] - use blargg's fix instead diff -r 3b3887985a5c -r eb5d48fcf8ea ChangeLog --- a/ChangeLog Thu Nov 30 20:18:38 2006 -0800 +++ b/ChangeLog Thu Nov 30 20:20:30 2006 -0800 @@ -1,3 +1,11 @@ +2006-12-01 04:18:38 +0000 William Pitcock + revision [698] + - if buf.size() == 0, bail + + trunk/src/console/Fir_Resampler.cxx | 4 ++++ + 1 file changed, 4 insertions(+) + + 2006-12-01 03:54:33 +0000 William Pitcock revision [692] - merge libconsole-blargg into mainline libconsole: diff -r 3b3887985a5c -r eb5d48fcf8ea src/console/Fir_Resampler.cxx --- a/src/console/Fir_Resampler.cxx Thu Nov 30 20:18:38 2006 -0800 +++ b/src/console/Fir_Resampler.cxx Thu Nov 30 20:20:30 2006 -0800 @@ -191,10 +191,6 @@ if ( count > avail ) count = avail; - /* if the resampler is not used, then bail --nenolod */ - if ( buf.size() == 0 ) - return count; - remain -= count; write_pos = &buf [remain]; memmove( buf.begin(), &buf [count], remain * sizeof buf [0] ); diff -r 3b3887985a5c -r eb5d48fcf8ea src/console/Spc_Emu.cxx --- a/src/console/Spc_Emu.cxx Thu Nov 30 20:18:38 2006 -0800 +++ b/src/console/Spc_Emu.cxx Thu Nov 30 20:20:30 2006 -0800 @@ -287,9 +287,12 @@ blargg_err_t Spc_Emu::skip_( long count ) { - count = long (count * resampler.ratio()) & ~1; - - count -= resampler.skip_input( count ); + if ( sample_rate() != native_sample_rate ) + { + count = long (count * resampler.ratio()) & ~1; + count -= resampler.skip_input( count ); + } + if ( count > 0 ) RETURN_ERR( apu.skip( count ) );