in the above we are lowering the audio latency. we do this by writing LatencySampleCount = (SamplesPerSecond) / 15 Samples ahead of the PlayCursor.
casey, said we shouldn't use SamplesPerSecond / 60, because of potential audio dropouts. i'm not really sure what he means by audio dropouts. also he said that so long as the user is running at above 15FPS their audio will not dropout with (SamplesPerSecond) / 15; I don't really get why this is the case.
seems to me like it isn't really about running at 15 FPS throughout the entire second but more about whether a single frame takes longer than one fifteenth of a second to complete.
let x represent filled in parts of the buffer
P the play cursor
T the target position SamplesPerSecond/15 samples ahead
R the running sample count
now we can stall for one frame safely (assuming we are running at 15 FPS); however, if we stall for 2 then we have a dropout?
hence, if we miss the frame due to getting swapped out by the OS, etc, but then start running at a pace of 30FPS, it is still possible to have a dropout, despite having run 30 Frames that Second. correct?