From: APTX Date: Mon, 21 Feb 2022 13:24:03 +0000 (+0900) Subject: Add end of file notification X-Git-Url: https://gitweb.tyo.aptx.org/?a=commitdiff_plain;h=9b0c37f1d0966cde48a0c9bcc5e6624c56d3e9e0;p=aniplayer.git Add end of file notification --- diff --git a/backendplugins/backend_mpv/backendmpv.cpp b/backendplugins/backend_mpv/backendmpv.cpp index bd3b22b..508060f 100644 --- a/backendplugins/backend_mpv/backendmpv.cpp +++ b/backendplugins/backend_mpv/backendmpv.cpp @@ -394,6 +394,9 @@ void MpvInstance::processMpvEvents() { else qCInfo(mpvBackend) << "File ended. Reason:" << endFile->reason; m_player->playStateChanged(PlayerPluginInterface::PlayState::Stopped); + if (endFile->reason == MPV_END_FILE_REASON_EOF) { + m_player->playbackEndOfFileReached(); + } } break; case MPV_EVENT_IDLE: { m_player->playStateChanged(PlayerPluginInterface::PlayState::Stopped); diff --git a/core/player.cpp b/core/player.cpp index 6b67651..566b161 100644 --- a/core/player.cpp +++ b/core/player.cpp @@ -321,6 +321,10 @@ void Player::playbackMaxVolumeChanged(Player::Volume volume) { emit maxVolumeChanged(volume); } +void Player::playbackEndOfFileReached() { + playNextPlaylistEntryOnEndOfFile(); +} + void Player::backendVideoTracksChanged( const PlayerPluginInterface::TrackList &tracks) { m_videoTrackModel->setTracks(tracks); diff --git a/core/player.h b/core/player.h index 6d891cd..6e588a1 100644 --- a/core/player.h +++ b/core/player.h @@ -188,6 +188,7 @@ protected: void playbackPositionChanged(TimeStamp) override; void playbackVolumeChanged(Volume) override; void playbackMaxVolumeChanged(Volume) override; + void playbackEndOfFileReached() override; void backendVideoTracksChanged(const TrackList &) override; void backendAudioTracksChanged(const TrackList &) override; void backendSubtitleTracksChanged(const TrackList &) override; diff --git a/pluginapi/aniplayer/playerplugininterface.h b/pluginapi/aniplayer/playerplugininterface.h index 1f7b70a..928f6c2 100644 --- a/pluginapi/aniplayer/playerplugininterface.h +++ b/pluginapi/aniplayer/playerplugininterface.h @@ -45,6 +45,7 @@ public: virtual void playbackPositionChanged(TimeStamp) = 0; virtual void playbackVolumeChanged(Volume) = 0; virtual void playbackMaxVolumeChanged(Volume) = 0; + virtual void playbackEndOfFileReached() = 0; struct Track { QString title;