summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2024-09-12 00:01:30 +0200
committerCarl Hetherington <cth@carlh.net>2024-09-12 00:01:30 +0200
commit91f92cf4126a4f291d8e8d841e3f147e795088cb (patch)
tree517c60c186955dd90cc0637a691e128c03394585
parent6956a022841ab12e9ebf47b08cf8c18a6e1a2f86 (diff)
Cleanup: add AudioBackend::stream_running() and AudioBackend::stream_time().
-rw-r--r--src/wx/audio_backend.cc14
-rw-r--r--src/wx/audio_backend.h2
-rw-r--r--src/wx/film_viewer.cc12
3 files changed, 22 insertions, 6 deletions
diff --git a/src/wx/audio_backend.cc b/src/wx/audio_backend.cc
index f3729ed10..3fb902ebb 100644
--- a/src/wx/audio_backend.cc
+++ b/src/wx/audio_backend.cc
@@ -234,3 +234,17 @@ AudioBackend::stream_open() const
return _rtaudio.isStreamOpen();
}
+
+bool
+AudioBackend::stream_running() const
+{
+ return _rtaudio.isStreamRunning();
+}
+
+
+double
+AudioBackend::stream_time() const
+{
+ return const_cast<RtAudio&>(_rtaudio).getStreamTime();
+}
+
diff --git a/src/wx/audio_backend.h b/src/wx/audio_backend.h
index 6130f31ec..0ed80dd25 100644
--- a/src/wx/audio_backend.h
+++ b/src/wx/audio_backend.h
@@ -50,6 +50,8 @@ public:
int stream_latency() const;
bool stream_open() const;
+ bool stream_running() const;
+ double stream_time() const;
void set_stream_time(double time);
diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc
index f38bb6878..b46d316e9 100644
--- a/src/wx/film_viewer.cc
+++ b/src/wx/film_viewer.cc
@@ -691,10 +691,10 @@ FilmViewer::config_changed (Config::Property p)
DCPTime
FilmViewer::uncorrected_time () const
{
- auto& audio = AudioBackend::instance()->rtaudio();
+ auto audio = AudioBackend::instance();
- if (audio.isStreamRunning()) {
- return DCPTime::from_seconds(audio.getStreamTime());
+ if (audio->stream_running()) {
+ return DCPTime::from_seconds(audio->stream_time());
}
return _video_view->position();
@@ -704,13 +704,13 @@ FilmViewer::uncorrected_time () const
optional<DCPTime>
FilmViewer::audio_time () const
{
- auto& audio = AudioBackend::instance()->rtaudio();
+ auto audio = AudioBackend::instance();
- if (!audio.isStreamRunning()) {
+ if (!audio->stream_running()) {
return {};
}
- return DCPTime::from_seconds(audio.getStreamTime()) -
+ return DCPTime::from_seconds(audio->stream_time()) -
DCPTime::from_frames (average_latency(), _film->audio_frame_rate());
}