From 91f92cf4126a4f291d8e8d841e3f147e795088cb Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 12 Sep 2024 00:01:30 +0200 Subject: Cleanup: add AudioBackend::stream_running() and AudioBackend::stream_time(). --- src/wx/audio_backend.cc | 14 ++++++++++++++ src/wx/audio_backend.h | 2 ++ src/wx/film_viewer.cc | 12 ++++++------ 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).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 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()); } -- cgit v1.2.3