aboutsummaryrefslogtreecommitdiff
path: root/src/QuickMedia.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2020-06-13 14:11:12 +0200
committerdec05eba <dec05eba@protonmail.com>2020-06-13 14:11:12 +0200
commit93b89cf4fce6b48ba8e26e9e907cbbb9e9632cf1 (patch)
tree8cb4ec37edd085cd2fa96750e14c1a6ae42a05f2 /src/QuickMedia.cpp
parent31239d029e0449ca18b258aeacb46b45ee54aab0 (diff)
Fix related videos sometimes being skipped
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r--src/QuickMedia.cpp12
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