mirror of
				https://github.com/Ryujinx/SDL.git
				synced 2025-11-04 04:04:58 +00:00 
			
		
		
		
	SDL_ResampleAudio: Fix float accumulation error
While 78f97108f9 reduced the accumulation error, it was still big enough to cause distortions.
Fixes #6196.
			
			
This commit is contained in:
		
							parent
							
								
									2df39e64ab
								
							
						
					
					
						commit
						8145212103
					
				| 
						 | 
				
			
			@ -202,7 +202,6 @@ SDL_ResampleAudio(const int chans, const int inrate, const int outrate,
 | 
			
		|||
    typedef float ResampleFloatType;
 | 
			
		||||
 | 
			
		||||
    const ResampleFloatType finrate = (ResampleFloatType) inrate;
 | 
			
		||||
    const ResampleFloatType outtimeincr = ((ResampleFloatType) 1.0f) / ((ResampleFloatType) outrate);
 | 
			
		||||
    const ResampleFloatType ratio = ((float) outrate) / ((float) inrate);
 | 
			
		||||
    const int paddinglen = ResamplerPadding(inrate, outrate);
 | 
			
		||||
    const int framelen = chans * (int)sizeof (float);
 | 
			
		||||
| 
						 | 
				
			
			@ -247,7 +246,7 @@ SDL_ResampleAudio(const int chans, const int inrate, const int outrate,
 | 
			
		|||
            *(dst++) = outsample;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        outtime = outtimeincr * i;
 | 
			
		||||
        outtime = ((ResampleFloatType) i) / ((ResampleFloatType) outrate);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return outframes * chans * sizeof (float);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue