aboutsummaryrefslogtreecommitdiff
path: root/src/QuickMedia.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2021-08-24 18:32:26 +0200
committerdec05eba <dec05eba@protonmail.com>2021-08-24 18:32:26 +0200
commit62f918559616138de1cc0ab8f5759f5d714e9287 (patch)
tree7c8886051590b8f0b0806633563fd120ebc6726f /src/QuickMedia.cpp
parent591c78ff6b148ddd3c97ad48dce15ec697456fe5 (diff)
Youtube: load english subtitles when available
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r--src/QuickMedia.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp
index c85f031..1bc260c 100644
--- a/src/QuickMedia.cpp
+++ b/src/QuickMedia.cpp
@@ -2622,7 +2622,7 @@ namespace QuickMedia {
}
sf::WindowHandle video_player_window = None;
- auto on_window_create = [this, &video_player_window, &video_loaded](sf::WindowHandle _video_player_window) mutable {
+ auto on_window_create = [this, &video_player_window, &video_loaded, &video_page](sf::WindowHandle _video_player_window) mutable {
video_player_window = _video_player_window;
XSelectInput(disp, video_player_window, KeyPressMask | PointerMotionMask);
XSync(disp, False);
@@ -2633,6 +2633,11 @@ namespace QuickMedia {
video_player->get_time_in_file(&time_in_file);
if(time_in_file > 0.00001)
video_loaded = true;
+
+ SubtitleData subtitle_data;
+ video_page->get_subtitles(subtitle_data);
+ if(!subtitle_data.url.empty())
+ video_player->add_subtitle(subtitle_data.url, subtitle_data.title, "eng");
};
std::unique_ptr<YoutubeMediaProxy> youtube_video_media_proxy;
@@ -2658,7 +2663,7 @@ namespace QuickMedia {
throttled = true;
};
- auto load_video_error_check = [this, &throttle_handler, &throttled, &youtube_downloader_task, &youtube_video_media_proxy, &youtube_audio_media_proxy, &youtube_video_content_length, &youtube_audio_content_length, &prev_start_time, &media_chapters, &video_url, &audio_url, &has_embedded_audio, &video_title, &video_tasks, &channel_url, previous_page, &go_to_previous_page, &video_loaded, video_page, &video_event_callback, &on_window_create, &video_player_window, is_youtube, is_matrix, download_if_streaming_fails](std::string start_time = "", bool reuse_media_source = false) mutable {
+ auto load_video_error_check = [&](std::string start_time = "", bool reuse_media_source = false) mutable {
video_player.reset();
channel_url.clear();
video_loaded = false;
@@ -2677,7 +2682,7 @@ namespace QuickMedia {
bool load_successful = false;
for(int i = 0; i < num_retries; ++i) {
bool cancelled = false;
- TaskResult load_result = run_task_with_loading_screen([this, video_page, &cancelled, &new_title, &channel_url, &media_chapters, &youtube_video_content_length, &youtube_audio_content_length, largest_monitor_height, &has_embedded_audio, &video_url, &audio_url, &is_audio_only, &previous_page, is_youtube, download_if_streaming_fails]() {
+ TaskResult load_result = run_task_with_loading_screen([&]() {
if(video_page->load(new_title, channel_url, media_chapters) != PluginResult::OK)
return false;