summaryrefslogtreecommitdiffstats
path: root/src/multimedia
diff options
context:
space:
mode:
authorJustin McPherson <justin.mcpherson@nokia.com>2010-03-15 15:21:45 +1000
committerJustin McPherson <justin.mcpherson@nokia.com>2010-03-16 13:46:45 +1000
commit1c5f43489f7c2e47dd602307570dd6235355da9d (patch)
treec0a7dae6390fc02e8874f27c8417e22f6d4ce466 /src/multimedia
parent3f41524598f5b4795f0f6b279450daf792df927d (diff)
Handle values passed to setNotifyInterval more robustly.
Reviewed-by:Dmytro Poplavskiy
Diffstat (limited to 'src/multimedia')
-rw-r--r--src/multimedia/audio/qaudioinput_mac_p.cpp9
-rw-r--r--src/multimedia/audio/qaudiooutput_mac_p.cpp9
2 files changed, 16 insertions, 2 deletions
diff --git a/src/multimedia/audio/qaudioinput_mac_p.cpp b/src/multimedia/audio/qaudioinput_mac_p.cpp
index 7ab8c273f5..1db5866a90 100644
--- a/src/multimedia/audio/qaudioinput_mac_p.cpp
+++ b/src/multimedia/audio/qaudioinput_mac_p.cpp
@@ -807,6 +807,12 @@ int QAudioInputPrivate::bufferSize() const
void QAudioInputPrivate::setNotifyInterval(int milliSeconds)
{
+ if (intervalTimer->interval() == milliSeconds)
+ return;
+
+ if (milliSeconds <= 0)
+ milliSeconds = 0;
+
intervalTimer->setInterval(milliSeconds);
}
@@ -886,7 +892,8 @@ void QAudioInputPrivate::audioDeviceError()
void QAudioInputPrivate::startTimers()
{
audioBuffer->startFlushTimer();
- intervalTimer->start();
+ if (intervalTimer->interval() > 0)
+ intervalTimer->start();
}
void QAudioInputPrivate::stopTimers()
diff --git a/src/multimedia/audio/qaudiooutput_mac_p.cpp b/src/multimedia/audio/qaudiooutput_mac_p.cpp
index b457fedc07..9689101cab 100644
--- a/src/multimedia/audio/qaudiooutput_mac_p.cpp
+++ b/src/multimedia/audio/qaudiooutput_mac_p.cpp
@@ -536,6 +536,12 @@ int QAudioOutputPrivate::bufferSize() const
void QAudioOutputPrivate::setNotifyInterval(int milliSeconds)
{
+ if (intervalTimer->interval() == milliSeconds)
+ return;
+
+ if (milliSeconds <= 0)
+ milliSeconds = 0;
+
intervalTimer->setInterval(milliSeconds);
}
@@ -622,7 +628,8 @@ void QAudioOutputPrivate::audioDeviceError()
void QAudioOutputPrivate::startTimers()
{
audioBuffer->startFillTimer();
- intervalTimer->start();
+ if (intervalTimer->interval() > 0)
+ intervalTimer->start();
}
void QAudioOutputPrivate::stopTimers()