summaryrefslogtreecommitdiffstats
path: root/src/audio_core/sink/cubeb_sink.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2022-09-15 22:50:13 +0200
committerGitHub <noreply@github.com>2022-09-15 22:50:13 +0200
commite85bda5f31763359b69fbcad5c121995e1ad7074 (patch)
treecd9e85c7fabb334f2d19c20e3eb36c22e1883a21 /src/audio_core/sink/cubeb_sink.cpp
parentMerge pull request #8902 from Morph1984/new_sd_icons (diff)
parentRemove pause callbacks from coretiming (diff)
downloadyuzu-e85bda5f31763359b69fbcad5c121995e1ad7074.tar
yuzu-e85bda5f31763359b69fbcad5c121995e1ad7074.tar.gz
yuzu-e85bda5f31763359b69fbcad5c121995e1ad7074.tar.bz2
yuzu-e85bda5f31763359b69fbcad5c121995e1ad7074.tar.lz
yuzu-e85bda5f31763359b69fbcad5c121995e1ad7074.tar.xz
yuzu-e85bda5f31763359b69fbcad5c121995e1ad7074.tar.zst
yuzu-e85bda5f31763359b69fbcad5c121995e1ad7074.zip
Diffstat (limited to '')
-rw-r--r--src/audio_core/sink/cubeb_sink.cpp34
1 files changed, 7 insertions, 27 deletions
diff --git a/src/audio_core/sink/cubeb_sink.cpp b/src/audio_core/sink/cubeb_sink.cpp
index 9ae043611..36b115ad6 100644
--- a/src/audio_core/sink/cubeb_sink.cpp
+++ b/src/audio_core/sink/cubeb_sink.cpp
@@ -129,20 +129,13 @@ public:
* Default false.
*/
void Start(bool resume = false) override {
- if (!ctx) {
+ if (!ctx || !paused) {
return;
}
- if (resume && was_playing) {
- if (cubeb_stream_start(stream_backend) != CUBEB_OK) {
- LOG_CRITICAL(Audio_Sink, "Error starting cubeb stream");
- }
- paused = false;
- } else if (!resume) {
- if (cubeb_stream_start(stream_backend) != CUBEB_OK) {
- LOG_CRITICAL(Audio_Sink, "Error starting cubeb stream");
- }
- paused = false;
+ paused = false;
+ if (cubeb_stream_start(stream_backend) != CUBEB_OK) {
+ LOG_CRITICAL(Audio_Sink, "Error starting cubeb stream");
}
}
@@ -151,16 +144,15 @@ public:
*/
void Stop() override {
Unstall();
- if (!ctx) {
+
+ if (!ctx || paused) {
return;
}
+ paused = true;
if (cubeb_stream_stop(stream_backend) != CUBEB_OK) {
LOG_CRITICAL(Audio_Sink, "Error stopping cubeb stream");
}
-
- was_playing.store(!paused);
- paused = true;
}
private:
@@ -286,18 +278,6 @@ void CubebSink::CloseStreams() {
sink_streams.clear();
}
-void CubebSink::PauseStreams() {
- for (auto& stream : sink_streams) {
- stream->Stop();
- }
-}
-
-void CubebSink::UnpauseStreams() {
- for (auto& stream : sink_streams) {
- stream->Start(true);
- }
-}
-
f32 CubebSink::GetDeviceVolume() const {
if (sink_streams.empty()) {
return 1.0f;