summaryrefslogtreecommitdiffstats
path: root/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
diff options
context:
space:
mode:
authorMichael Goddard <michael.goddard@nokia.com>2012-04-20 15:54:39 +1000
committerQt by Nokia <qt-info@nokia.com>2012-04-27 05:05:30 +0200
commit2a7c2e695b7551669f1727d6945f68ff57064e96 (patch)
tree38556e8ecff15f139eebf141a03439750e1a743c /src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
parent24ced13a255d545151c384a8f3a97724d9f2f193 (diff)
Make sure the audio/video availability information changes atomically.
So there's a consistent picture of the stream availability. Change-Id: Id7ea166353c0151fcc11105a1e233e9fe8df9cc6 Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Diffstat (limited to 'src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp')
-rw-r--r--src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
index ed395feb0..7f48738cb 100644
--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
@@ -1384,12 +1384,16 @@ void QGstreamerPlayerSession::getStreamsInfo()
}
- if (haveAudio != m_audioAvailable) {
- m_audioAvailable = haveAudio;
+ bool emitAudioChanged = (haveAudio != m_audioAvailable);
+ bool emitVideoChanged = (haveVideo != m_videoAvailable);
+
+ m_audioAvailable = haveAudio;
+ m_videoAvailable = haveVideo;
+
+ if (emitAudioChanged) {
emit audioAvailableChanged(m_audioAvailable);
}
- if (haveVideo != m_videoAvailable) {
- m_videoAvailable = haveVideo;
+ if (emitVideoChanged) {
emit videoAvailableChanged(m_videoAvailable);
}