diff options
author | Michael Goddard <michael.goddard@nokia.com> | 2012-04-20 15:54:39 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-27 05:05:30 +0200 |
commit | 2a7c2e695b7551669f1727d6945f68ff57064e96 (patch) | |
tree | 38556e8ecff15f139eebf141a03439750e1a743c /src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp | |
parent | 24ced13a255d545151c384a8f3a97724d9f2f193 (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.cpp | 12 |
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); } |