From 48ae2494058fc3e6c4a603ddecc32343121cf70e Mon Sep 17 00:00:00 2001 From: Tim Gromeyer Date: Sun, 8 Jun 2025 18:42:37 +0200 Subject: [PATCH] [Linux] Don't use playerctl for current media state --- linux/media/mediacontroller.cpp | 7 +------ linux/media/mediacontroller.h | 2 ++ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/linux/media/mediacontroller.cpp b/linux/media/mediacontroller.cpp index c860abe..6257335 100644 --- a/linux/media/mediacontroller.cpp +++ b/linux/media/mediacontroller.cpp @@ -44,12 +44,7 @@ void MediaController::handleEarDetection(EarDetection *earDetection) if (shouldPause && isActiveOutputDeviceAirPods()) { - QProcess process; - process.start("playerctl", QStringList() << "status"); - process.waitForFinished(); - QString playbackStatus = process.readAllStandardOutput().trimmed(); - LOG_DEBUG("Playback status: " << playbackStatus); - if (playbackStatus == "Playing") + if (m_mediaState == Playing) { pause(); } diff --git a/linux/media/mediacontroller.h b/linux/media/mediacontroller.h index 2a6be0c..6134d91 100644 --- a/linux/media/mediacontroller.h +++ b/linux/media/mediacontroller.h @@ -43,6 +43,7 @@ public: void play(); void pause(); + MediaState getCurrentMediaState() const { return m_mediaState; }; Q_SIGNALS: void mediaStateChanged(MediaState state); @@ -59,6 +60,7 @@ private: EarDetectionBehavior earDetectionBehavior = PauseWhenOneRemoved; QString m_deviceOutputName; PlayerStatusWatcher *playerStatusWatcher = nullptr; + MediaState m_mediaState = Stopped; }; #endif // MEDIACONTROLLER_H \ No newline at end of file