diff options
author | dec05eba <dec05eba@protonmail.com> | 2019-08-06 17:49:42 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2019-08-06 17:49:45 +0200 |
commit | 59988161a000851a4f0bc90f3fdcfe375571db35 (patch) | |
tree | bf31aa5fcea089a38bdcbb1c7577fcd00884e6a5 /src/QuickMedia.cpp | |
parent | c11d8f861b0e260240ec59c423cdb440d7409ac1 (diff) |
Restart videoplayer when changing video, to fix loadfile video bug
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r-- | src/QuickMedia.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp index 5de8a0f..d6a369a 100644 --- a/src/QuickMedia.cpp +++ b/src/QuickMedia.cpp @@ -291,21 +291,24 @@ namespace QuickMedia { } std::vector<std::unique_ptr<BodyItem>> related_media = current_plugin->get_related_media(video_url); + bool reload = false; if(video_player) { - video_player->onPlaybackEndedCallback = [this, &related_media, &video_player]() { + video_player->onPlaybackEndedCallback = [this, &related_media, &video_player, &reload]() { if(related_media.empty()) return; video_url = related_media.front()->url; - video_player->load_file(video_url); related_media = current_plugin->get_related_media(video_url); + // TODO: This doesn't seem to work correctly right now, it causes video to become black when changing video (context reset bug). + //video_player->load_file(video_url); + reload = true; }; } sf::Clock resize_timer; sf::Event event; - while (current_page == Page::VIDEO_CONTENT) { + while (current_page == Page::VIDEO_CONTENT && !reload) { while (window.pollEvent(event)) { base_event_handler(event, Page::SEARCH_SUGGESTION); if(event.type == sf::Event::Resized) { |