diff options
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r-- | src/QuickMedia.cpp | 27 |
1 files changed, 4 insertions, 23 deletions
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp index aa86bf8..35efd8d 100644 --- a/src/QuickMedia.cpp +++ b/src/QuickMedia.cpp @@ -2700,18 +2700,11 @@ namespace QuickMedia { } mgl::WindowHandle video_player_window = None; - auto on_window_create = [this, &video_player_window, &video_loaded, &video_page](mgl::WindowHandle _video_player_window) mutable { + auto on_window_create = [this, &video_player_window, &video_page](mgl::WindowHandle _video_player_window) mutable { video_player_window = _video_player_window; XSelectInput(disp, video_player_window, KeyPressMask | PointerMotionMask); XSync(disp, False); - // Hack to detect video playing if the video starts playing before we have connected to the ipc. - // TODO: This is an issue just because of ubuntu shit that uses old mpv that doesn't support ipc over file descriptors. - double time_in_file = 0.0; - 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()) @@ -2736,11 +2729,6 @@ namespace QuickMedia { std::string prev_start_time; std::vector<MediaChapter> media_chapters; - bool throttled = false; - auto throttle_handler = [&throttled] { - throttled = true; - }; - auto load_video_error_check = [&](std::string start_time = "", bool reuse_media_source = false) mutable { video_player.reset(); channel_url.clear(); @@ -2852,7 +2840,6 @@ namespace QuickMedia { youtube_downloader_task.cancel(); youtube_video_media_proxy.reset(); youtube_audio_media_proxy.reset(); - throttled = false; struct MediaProxyMetadata { std::unique_ptr<YoutubeMediaProxy> *media_proxy; @@ -2869,7 +2856,7 @@ namespace QuickMedia { if(media_proxies[i].url->empty() || youtube_url_is_live_stream(*media_proxies[i].url)) continue; - *media_proxies[i].media_proxy = std::make_unique<YoutubeStaticMediaProxy>(throttle_handler); + *media_proxies[i].media_proxy = std::make_unique<YoutubeStaticMediaProxy>(); if(!(*media_proxies[i].media_proxy)->start(*media_proxies[i].url, media_proxies[i].content_length)) { show_notification("QuickMedia", "Failed to load start youtube media proxy", Urgency::CRITICAL); current_page = previous_page; @@ -2963,6 +2950,8 @@ namespace QuickMedia { // end_of_file = true; } else if(strcmp(event_name, "playback-restart") == 0) { //video_player->set_paused(false); + } else if(strcmp(event_name, "start-file") == 0) { + video_loaded = true; } else if(strcmp(event_name, "file-loaded") == 0) { video_loaded = true; } else if(strcmp(event_name, "video-reconfig") == 0 || strcmp(event_name, "audio-reconfig") == 0) { @@ -3129,14 +3118,6 @@ namespace QuickMedia { cursor_visible = true; } - if(is_youtube && video_player && throttled) { - throttled = false; - fprintf(stderr, "Throttled media download detected, reconnecting...\n"); - double resume_start_time = 0.0; - video_player->get_time_in_file(&resume_start_time); - load_video_error_check(std::to_string((int)resume_start_time)); - } - VideoPlayer::Error update_err = video_player ? video_player->update() : VideoPlayer::Error::OK; if(update_err == VideoPlayer::Error::FAIL_TO_CONNECT_TIMEOUT) { show_notification("QuickMedia", "Failed to connect to mpv ipc after 10 seconds", Urgency::CRITICAL); |