Commits on Source (7)
-
This function is returning the aout delay (delay until the last block is played). But keep time_get inside aout modules.
4d4c5b19 -
No functional changes
2f2d608a -
NB: Emulation is when the module use aout_TimingReport() The legacy aout->time_get return the delay, taking into account all the data that has been played. Therefore, the emulation should also use the true last PTS, that is first_pts + total played data, in order to include all extra audio data played (silence, resampler, filters). Use samples and not length to keep track of the played data because length might not be rounded (depending on the rate).
98fac7ad -
Don't use the clock but interpolate the last reported timing, so that the returned delay can drift from the clock. This will be needed by the next fix for stream_Synchronize() that will always use stream_GetDelay() to calculate the drift (even if the aout is using aout_TimingReport()).
d512b8b3 -
Drift handling was not fully tested when the aout was using aout_TimingReport() (and the audio was not the master). It was working for big drifts (silence or flush) but not for small ones, when the resampler was used because the last set drift was reset once used. Furthermore, stream_Synchronize() should not use past points but up to date points including: - The silence already sent - The block resize (bigger or smaller) due to the resampler The simplest way to achieve that is to use the audio delay, that is now fixed when using aout_TimingReport().
581dd52e -
No functional changes.
f406f566 -
Most aout modules -> some aout modules.
93cc6fd9