Преглед на файлове

Fix audio resampling in some cases.

Fixes Bugzilla #2389.
Ryan C. Gordon преди 12 години
родител
ревизия
91b7fb00d0
променени са 1 файла, в които са добавени 2 реда и са изтрити 1 реда
  1. 2 1
      src/audio/sdlgenaudiocvt.pl

+ 2 - 1
src/audio/sdlgenaudiocvt.pl

@@ -383,6 +383,7 @@ sub buildArbitraryResampleFunc {
     my $eps_adjust = ($upsample) ? 'dstsize' : 'srcsize';
     my $eps_adjust = ($upsample) ? 'dstsize' : 'srcsize';
     my $incr = '';
     my $incr = '';
     my $incr2 = '';
     my $incr2 = '';
+    my $block_align = $channels * $fsize/8;
 
 
 
 
     # !!! FIXME: DEBUG_CONVERT should report frequencies.
     # !!! FIXME: DEBUG_CONVERT should report frequencies.
@@ -395,7 +396,7 @@ ${sym}(SDL_AudioCVT * cvt, SDL_AudioFormat format)
 #endif
 #endif
 
 
     const int srcsize = cvt->len_cvt - $fudge;
     const int srcsize = cvt->len_cvt - $fudge;
-    const int dstsize = (int) (((double)cvt->len_cvt) * cvt->rate_incr);
+    const int dstsize = (int) (((double)(cvt->len_cvt/${block_align})) * cvt->rate_incr) * ${block_align};
     register int eps = 0;
     register int eps = 0;
 EOF
 EOF