summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/wx/audio_backend.cc9
-rw-r--r--src/wx/audio_backend.h1
-rw-r--r--src/wx/film_viewer.cc13
3 files changed, 12 insertions, 11 deletions
diff --git a/src/wx/audio_backend.cc b/src/wx/audio_backend.cc
index b77d2cdcd..ae37ab851 100644
--- a/src/wx/audio_backend.cc
+++ b/src/wx/audio_backend.cc
@@ -75,3 +75,12 @@ AudioBackend::instance()
}
+void
+AudioBackend::abort_stream_if_running()
+{
+ if (_rtaudio.isStreamRunning()) {
+ _rtaudio.abortStream();
+ }
+}
+
+
diff --git a/src/wx/audio_backend.h b/src/wx/audio_backend.h
index cf1bbad05..10646ebae 100644
--- a/src/wx/audio_backend.h
+++ b/src/wx/audio_backend.h
@@ -38,6 +38,7 @@ public:
return _rtaudio;
}
+ void abort_stream_if_running();
#if (RTAUDIO_VERSION_MAJOR >= 6)
std::string last_rtaudio_error() const;
#endif
diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc
index f83e83c68..65e2afb56 100644
--- a/src/wx/film_viewer.cc
+++ b/src/wx/film_viewer.cc
@@ -342,11 +342,7 @@ void
FilmViewer::suspend ()
{
++_suspended;
-
- auto& audio = AudioBackend::instance()->rtaudio();
- if (audio.isStreamRunning()) {
- audio.abortStream();
- }
+ AudioBackend::instance()->abort_stream_if_running();
}
@@ -430,12 +426,7 @@ FilmViewer::start ()
bool
FilmViewer::stop ()
{
- auto& audio = AudioBackend::instance()->rtaudio();
-
- if (audio.isStreamRunning()) {
- /* stop stream and discard any remaining queued samples */
- audio.abortStream();
- }
+ AudioBackend::instance()->abort_stream_if_running();
if (!_playing) {
return false;