diff options
author | dec05eba <dec05eba@protonmail.com> | 2020-06-13 14:11:12 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2020-06-13 14:11:12 +0200 |
commit | 93b89cf4fce6b48ba8e26e9e907cbbb9e9632cf1 (patch) | |
tree | 8cb4ec37edd085cd2fa96750e14c1a6ae42a05f2 /src/QuickMedia.cpp | |
parent | 31239d029e0449ca18b258aeacb46b45ee54aab0 (diff) |
Fix related videos sometimes being skipped
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r-- | src/QuickMedia.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp index 6cd92b7..8299423 100644 --- a/src/QuickMedia.cpp +++ b/src/QuickMedia.cpp @@ -659,19 +659,23 @@ namespace QuickMedia { current_page = previous_page; } }; - - video_player = std::make_unique<VideoPlayer>(current_plugin->use_tor, [this, &video_player, &seekable, &load_video_error_check, previous_page](const char *event_name) { + + bool has_video_started = true; + video_player = std::make_unique<VideoPlayer>(current_plugin->use_tor, [this, &video_player, &seekable, &load_video_error_check, previous_page, &has_video_started](const char *event_name) mutable { bool end_of_file = false; if(strcmp(event_name, "pause") == 0) { - double time_remaining = 0.0; + double time_remaining = 9999.0; if(video_player->get_time_remaining(&time_remaining) == VideoPlayer::Error::OK && time_remaining <= 1.0) end_of_file = true; } else if(strcmp(event_name, "playback-restart") == 0) { video_player->set_paused(false); video_player->is_seekable(&seekable); + } else if(strcmp(event_name, "start-file") == 0) { + has_video_started = true; } - if(end_of_file) { + if(end_of_file && has_video_started) { + has_video_started = false; std::string new_video_url; BodyItems related_media = current_plugin->get_related_media(content_url); // Find video that hasn't been played before in this video session |