diff options
author | Kurt Korbatits <kurt.korbatits@nokia.com> | 2009-10-02 04:45:05 (GMT) |
---|---|---|
committer | Kurt Korbatits <kurt.korbatits@nokia.com> | 2009-10-02 04:45:05 (GMT) |
commit | 5d94ce44f19316ce1c30c23635bf9575d80aa4e2 (patch) | |
tree | 96e1daf11022115c84ab8e51906ec78882f0a19b /src/multimedia/audio | |
parent | a94e9c5022076a97e796a984527ed1935c0803d0 (diff) | |
download | Qt-5d94ce44f19316ce1c30c23635bf9575d80aa4e2.zip Qt-5d94ce44f19316ce1c30c23635bf9575d80aa4e2.tar.gz Qt-5d94ce44f19316ce1c30c23635bf9575d80aa4e2.tar.bz2 |
Fixed logic in clock() function of audio class's.
- clock() should return valid value except in stop state, return 0.
- Added clock() function testing to unit tests.
Reviewed-by:Justin McPherson
Diffstat (limited to 'src/multimedia/audio')
-rw-r--r-- | src/multimedia/audio/qaudioinput_alsa_p.cpp | 2 | ||||
-rw-r--r-- | src/multimedia/audio/qaudioinput_mac_p.cpp | 3 | ||||
-rw-r--r-- | src/multimedia/audio/qaudioinput_win32_p.cpp | 2 | ||||
-rw-r--r-- | src/multimedia/audio/qaudiooutput_alsa_p.cpp | 2 | ||||
-rw-r--r-- | src/multimedia/audio/qaudiooutput_mac_p.cpp | 3 | ||||
-rw-r--r-- | src/multimedia/audio/qaudiooutput_win32_p.cpp | 2 |
6 files changed, 10 insertions, 4 deletions
diff --git a/src/multimedia/audio/qaudioinput_alsa_p.cpp b/src/multimedia/audio/qaudioinput_alsa_p.cpp index 46c4392..5e9aa81 100644 --- a/src/multimedia/audio/qaudioinput_alsa_p.cpp +++ b/src/multimedia/audio/qaudioinput_alsa_p.cpp @@ -598,7 +598,7 @@ qint64 QAudioInputPrivate::clock() const if(!handle) return 0; - if(deviceState != QAudio::ActiveState) + if (deviceState == QAudio::StopState) return 0; snd_pcm_status_t* status; diff --git a/src/multimedia/audio/qaudioinput_mac_p.cpp b/src/multimedia/audio/qaudioinput_mac_p.cpp index 07fa3f4..cb05920 100644 --- a/src/multimedia/audio/qaudioinput_mac_p.cpp +++ b/src/multimedia/audio/qaudioinput_mac_p.cpp @@ -819,6 +819,9 @@ qint64 QAudioInputPrivate::totalTime() const qint64 QAudioInputPrivate::clock() const { + if (stateCode == QAudio::StopState) + return 0; + return (AudioGetCurrentHostTime() - startTime) / (clockFrequency / 1000); } diff --git a/src/multimedia/audio/qaudioinput_win32_p.cpp b/src/multimedia/audio/qaudioinput_win32_p.cpp index d4226f5..b6b1efe 100644 --- a/src/multimedia/audio/qaudioinput_win32_p.cpp +++ b/src/multimedia/audio/qaudioinput_win32_p.cpp @@ -541,7 +541,7 @@ bool QAudioInputPrivate::deviceReady() qint64 QAudioInputPrivate::clock() const { - if(deviceState != QAudio::ActiveState) + if (deviceState == QAudio::StopState) return 0; return timeStampOpened.elapsed(); diff --git a/src/multimedia/audio/qaudiooutput_alsa_p.cpp b/src/multimedia/audio/qaudiooutput_alsa_p.cpp index 0d37d61..d814d97 100644 --- a/src/multimedia/audio/qaudiooutput_alsa_p.cpp +++ b/src/multimedia/audio/qaudiooutput_alsa_p.cpp @@ -650,7 +650,7 @@ qint64 QAudioOutputPrivate::clock() const if(!handle) return 0; - if(deviceState != QAudio::ActiveState) + if (deviceState == QAudio::StopState) return 0; snd_pcm_status_t* status; diff --git a/src/multimedia/audio/qaudiooutput_mac_p.cpp b/src/multimedia/audio/qaudiooutput_mac_p.cpp index 4364704..f23db80 100644 --- a/src/multimedia/audio/qaudiooutput_mac_p.cpp +++ b/src/multimedia/audio/qaudiooutput_mac_p.cpp @@ -551,6 +551,9 @@ qint64 QAudioOutputPrivate::totalTime() const qint64 QAudioOutputPrivate::clock() const { + if (stateCode == QAudio::StopState) + return 0; + return (AudioGetCurrentHostTime() - startTime) / (clockFrequency / 1000); } diff --git a/src/multimedia/audio/qaudiooutput_win32_p.cpp b/src/multimedia/audio/qaudiooutput_win32_p.cpp index bb61f41..ef4bf0e 100644 --- a/src/multimedia/audio/qaudiooutput_win32_p.cpp +++ b/src/multimedia/audio/qaudiooutput_win32_p.cpp @@ -492,7 +492,7 @@ bool QAudioOutputPrivate::deviceReady() qint64 QAudioOutputPrivate::clock() const { - if(deviceState != QAudio::ActiveState) + if (deviceState == QAudio::StopState) return 0; return timeStampOpened.elapsed(); |