Changeset 4115:c3fb01959302 in roaraudio


Ignore:
Timestamp:
08/06/10 19:26:28 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

ha, got resampling with wrong number of channels working!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroardsp/convert.c

    r4114 r4115  
    627627 
    628628int roar_conv_rate2      (void * out, void * in, int samples, int outsamples, int bits, int channels) { 
     629 ROAR_DBG("roar_conv_rate2(out=%p, in=%p, samples=%i, outsamples=%i, bits=%i, channels=%i) = ?", out, in, samples, outsamples, bits, channels); 
    629630 switch (bits) { 
    630631  case 16: 
     
    10081009 struct roar_audio_info cinfo; 
    10091010 int    need_signed = 0; 
     1011 size_t outsamples; 
    10101012 
    10111013 memcpy(&cinfo, from, sizeof(cinfo)); 
     
    10841086 
    10851087  cin            = out; 
     1088  samples        = (samples * to->channels) / cinfo.channels; 
    10861089  cinfo.channels = to->channels; 
    10871090 } 
     
    10891092//--// 
    10901093 if ( from->rate != to->rate ) { 
    1091   if ( roar_conv_rate2(out, cin, samples, bufsize/(cinfo.bits/8), cinfo.bits, cinfo.channels) == -1 ) 
     1094  outsamples = bufsize/(cinfo.bits/8); 
     1095 
     1096  if ( roar_conv_rate2(out, cin, samples, outsamples, cinfo.bits, cinfo.channels) == -1 ) 
    10921097   return -1; 
    10931098 
    10941099  cin            = out; 
    1095   samples        = bufsize/(cinfo.bits/8); 
     1100  samples        = outsamples; 
    10961101  cinfo.rate     = to->rate; 
    10971102 } 
     
    11031108 
    11041109  cin            = out; 
     1110  samples        = (samples * to->channels) / cinfo.channels; 
    11051111  cinfo.channels = to->channels; 
    11061112 } 
Note: See TracChangeset for help on using the changeset viewer.