summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2024-07-25 16:25:52 +0200
committerCarl Hetherington <cth@carlh.net>2024-07-26 11:39:59 +0200
commit85ddc6ae876810b618e632365c89d06ad60f8b3b (patch)
tree56674ff0c4cd28895a262015fb193ef4076906e8
parent32474a0dcd9b039026d91e07386193f9a3ea4588 (diff)
Add AudioBackend::abort_stream_if_running().
-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;