Clean buffers before closing the input device.
Input device handle is invalid after waveInClose() QTBUG-24119 Change-Id: I8276e56766684efd26b78dc019ff871ebac28408 Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
This commit is contained in:
committed by
Qt by Nokia
parent
4d64345983
commit
23a81d62e7
@@ -335,6 +335,13 @@ void QAudioInputPrivate::close()
|
|||||||
|
|
||||||
deviceState = QAudio::StoppedState;
|
deviceState = QAudio::StoppedState;
|
||||||
waveInReset(hWaveIn);
|
waveInReset(hWaveIn);
|
||||||
|
|
||||||
|
mutex.lock();
|
||||||
|
for (int i=0; i<waveFreeBlockCount; i++)
|
||||||
|
waveInUnprepareHeader(hWaveIn,&waveBlocks[i],sizeof(WAVEHDR));
|
||||||
|
freeBlocks(waveBlocks);
|
||||||
|
mutex.unlock();
|
||||||
|
|
||||||
waveInClose(hWaveIn);
|
waveInClose(hWaveIn);
|
||||||
|
|
||||||
int count = 0;
|
int count = 0;
|
||||||
@@ -342,12 +349,6 @@ void QAudioInputPrivate::close()
|
|||||||
count++;
|
count++;
|
||||||
Sleep(10);
|
Sleep(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
mutex.lock();
|
|
||||||
for(int i=0; i<waveFreeBlockCount; i++)
|
|
||||||
waveInUnprepareHeader(hWaveIn,&waveBlocks[i],sizeof(WAVEHDR));
|
|
||||||
freeBlocks(waveBlocks);
|
|
||||||
mutex.unlock();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int QAudioInputPrivate::bytesReady() const
|
int QAudioInputPrivate::bytesReady() const
|
||||||
|
|||||||
Reference in New Issue
Block a user