]> Some of my projects - aniplayer.git/commitdiff
Add end of file notification
authorAPTX <marek321@gmail.com>
Mon, 21 Feb 2022 13:24:03 +0000 (22:24 +0900)
committerAPTX <marek321@gmail.com>
Mon, 21 Feb 2022 13:25:00 +0000 (22:25 +0900)
backendplugins/backend_mpv/backendmpv.cpp
core/player.cpp
core/player.h
pluginapi/aniplayer/playerplugininterface.h

index bd3b22bd041203edcb2b3af6c34b4affe6d9e560..508060fb4c5e2ccef30594cc77ad34aef8e37fb7 100644 (file)
@@ -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);
index 6b6765140d7941f242730f1949850247d7e37362..566b161290888f4d483437de7ff838eb89213fd0 100644 (file)
@@ -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);
index 6d891cd9cf6c596e4418ea5037cd573815a807b5..6e588a125bc5b69440edba71f5ecfd7c5baf218e 100644 (file)
@@ -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;
index 1f7b70a6c3354202a76596a093368a67c7e85d6b..928f6c295b37338a9635a6e238b85c2592c6217b 100644 (file)
@@ -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;