PA/WMME timeInfo is not implemented during stream priming
If the paPrimeOutputBuffersUsingStreamCallback callback flag is used, PortAudio doesn't set the callback timeInfo at all.
This is an edge case, but PA really should handle this correctly.
inputBufferAdcTime -- always zero (there is not input buffer during stream priming)
currentTime -- time before invoking callback
outputBufferDacTime -- currentTime + anticipated latency?
It is difficult to accurately compute outputBufferDacTime because this is dependent on when PA actually starts the stream (which is done after all the buffers have been filled and is dependent on how long the client takes to fill the buffers). That means outputBufferDacTime would always be a guess -- perhaps we should just set it to zero?
This is an edge case, but PA really should handle this correctly.
inputBufferAdcTime -- always zero (there is not input buffer during stream priming)
currentTime -- time before invoking callback
outputBufferDacTime -- currentTime + anticipated latency?
It is difficult to accurately compute outputBufferDacTime because this is dependent on when PA actually starts the stream (which is done after all the buffers have been filled and is dependent on how long the client takes to fill the buffers). That means outputBufferDacTime would always be a guess -- perhaps we should just set it to zero?
Leave a comment