Commit d71af013 authored by Piyush Aggarwal's avatar Piyush Aggarwal 🎮
Browse files

mpriscontrolplugin-win: add nullptr check for autoRepeatMode and isShuffleActive

parent 3ffe96a8
Pipeline #67335 passed with stage
in 6 minutes and 31 seconds
...@@ -86,6 +86,19 @@ void MprisControlPlugin::sendPlaybackInfo(std::variant<NetworkPacket, QString> c ...@@ -86,6 +86,19 @@ void MprisControlPlugin::sendPlaybackInfo(std::variant<NetworkPacket, QString> c
auto playbackInfo = player.GetPlaybackInfo(); auto playbackInfo = player.GetPlaybackInfo();
auto playbackControls = playbackInfo.Controls(); auto playbackControls = playbackInfo.Controls();
np.set(QStringLiteral("isPlaying"), playbackInfo.PlaybackStatus() == GlobalSystemMediaTransportControlsSessionPlaybackStatus::Playing);
np.set(QStringLiteral("canPause"), playbackControls.IsPauseEnabled());
np.set(QStringLiteral("canPlay"), playbackControls.IsPlayEnabled());
np.set(QStringLiteral("canGoNext"), playbackControls.IsNextEnabled());
np.set(QStringLiteral("canGoPrevious"), playbackControls.IsPreviousEnabled());
np.set(QStringLiteral("canSeek"), playbackControls.IsPlaybackPositionEnabled());
if (playbackInfo.IsShuffleActive()) {
const bool shuffleStatus = playbackInfo.IsShuffleActive().Value();
np.set(QStringLiteral("shuffle"), shuffleStatus);
}
if (playbackInfo.AutoRepeatMode()) {
QString loopStatus; QString loopStatus;
switch(playbackInfo.AutoRepeatMode().Value()) { switch(playbackInfo.AutoRepeatMode().Value()) {
case Windows::Media::MediaPlaybackAutoRepeatMode::List: { case Windows::Media::MediaPlaybackAutoRepeatMode::List: {
...@@ -101,15 +114,8 @@ void MprisControlPlugin::sendPlaybackInfo(std::variant<NetworkPacket, QString> c ...@@ -101,15 +114,8 @@ void MprisControlPlugin::sendPlaybackInfo(std::variant<NetworkPacket, QString> c
break; break;
} }
} }
np.set(QStringLiteral("isPlaying"), playbackInfo.PlaybackStatus() == GlobalSystemMediaTransportControlsSessionPlaybackStatus::Playing);
np.set(QStringLiteral("canPause"), playbackControls.IsPauseEnabled());
np.set(QStringLiteral("canPlay"), playbackControls.IsPlayEnabled());
np.set(QStringLiteral("canGoNext"), playbackControls.IsNextEnabled());
np.set(QStringLiteral("canGoPrevious"), playbackControls.IsPreviousEnabled());
np.set(QStringLiteral("canSeek"), playbackControls.IsPlaybackPositionEnabled());
np.set(QStringLiteral("shuffle"), playbackInfo.IsShuffleActive().Value());
np.set(QStringLiteral("loopStatus"), loopStatus); np.set(QStringLiteral("loopStatus"), loopStatus);
}
sendTimelineProperties(np, player); sendTimelineProperties(np, player);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment