Fix excessive seeking with negative audio delay.
Before this commit, an audio delay of -110ms on a test project
would result in a seek on every video and audio fetch.
This commit does two things to fix that:
1. Don't discard audio data that arrives with a timestamp
before the last seek time. In the case that we are fixing
we had the following sequence:
- video seeks to some frame F
- this causes audio data to arrive a little before F
- this audio data is discarded
- and audio get happens just after F
- the audio code thinks it must seek rather than just pass()ing
since it has no data
If we keep the audio data from before the seek our _decoded
will be much closer to the audio request, so a pass() is more
likely to happen.
2. Extend the length of time that we will happily pass() for
rather than seeking when looking for audio data. Seeking is
really bad so we can tolerate quite long times here. The sensible
length of this value should probably be investigated as the
one in this commit is a finger-in-the-air guess.