Changeset 1015

Show
Ignore:
Timestamp:
10/19/07 22:28:42 (15 months ago)
Author:
stephen_booth
Message:

Better calculation of encoder padding

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/Audio/Decoders/MPEGDecoder.m

    r1013 r1015  
    325325                // Skip any samples that remain from last frame 
    326326                // This can happen if the encoder delay is greater than the number of samples in a frame 
    327                 // This normally won't happen, but is possible 
    328327                unsigned startingSample = _samplesToSkipInNextFrame; 
    329328                 
     
    591590                                        uint16_t encoderDelay = mad_bit_read(&stream.anc_ptr, 12); 
    592591                                        uint16_t encoderPadding = mad_bit_read(&stream.anc_ptr, 12); 
    593                                          
    594                                         _totalFrames = [self totalFrames] - (encoderDelay + encoderPadding); 
    595                                          
    596                                         // Adjust encoderDelay for MDCT/filterbank delay 
     592                                                                                 
     593                                        // Adjust encoderDelay and encoderPadding for MDCT/filterbank delays 
    597594                                        _encoderDelay = encoderDelay + 528 + 1; 
    598                                         _encoderPadding = encoderPadding; 
     595                                        _encoderPadding = encoderPadding - (528 + 1); 
     596 
     597                                        _totalFrames = [self totalFrames] - (_encoderDelay + _encoderPadding); 
    599598                                         
    600599                                        /*uint8_t misc =*/ mad_bit_read(&stream.anc_ptr, 8);