retart the nextFrame and frameTimer on injector restart

This commit is contained in:
Stephen Birarda 2016-01-29 14:47:27 -08:00
parent 6db8239d8a
commit d3028606c5

View file

@ -102,6 +102,10 @@ void AudioInjector::restart() {
// reset the current send offset to zero
_currentSendOffset = 0;
// reset the nextFrame and elapsed timer
_nextFrame = 0;
_frameTimer->invalidate();
// check our state to decide if we need extra handling for the restart request
if (_state == State::Finished) {
// we finished playing, need to reset state so we can get going again
@ -246,6 +250,11 @@ int64_t AudioInjector::injectNextFrame() {
}
}
if (!_frameTimer->isValid()) {
// in the case where we have been restarted, the frame timer will be invalid and we need to start it back over here
_frameTimer->restart();
}
int totalBytesLeftToCopy = (_options.stereo ? 2 : 1) * AudioConstants::NETWORK_FRAME_BYTES_PER_CHANNEL;
if (!_options.loop) {
// If we aren't looping, let's make sure we don't read past the end