diff options
author | dec05eba <dec05eba@protonmail.com> | 2022-03-07 19:02:28 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2022-03-07 19:06:39 +0100 |
commit | 21c50903a68c253fa5fcb9ed5ac8ba5abb1142b9 (patch) | |
tree | c52907f4fe981e6b01a875cafc8f59bae0384987 /plugins | |
parent | 123124a4a89d83f605d67d94145b4008b9a5b1d7 (diff) |
Attempt to fix youtube video issue where video stops playing because audio finishes download
Remove youtube livestream code
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/youtube/YoutubeMediaProxy.hpp | 32 |
1 files changed, 3 insertions, 29 deletions
diff --git a/plugins/youtube/YoutubeMediaProxy.hpp b/plugins/youtube/YoutubeMediaProxy.hpp index eaef898..0fb2d6a 100644 --- a/plugins/youtube/YoutubeMediaProxy.hpp +++ b/plugins/youtube/YoutubeMediaProxy.hpp @@ -22,7 +22,7 @@ namespace QuickMedia { virtual Error update() = 0; virtual bool get_address(std::string &address) = 0; - bool start_download(const std::string &media_url, ReadProgram &read_program, int64_t range_start, bool include_header, bool is_livestream = false, int livestream_sequence = -1); + bool start_download(const std::string &media_url, ReadProgram &read_program, int64_t range_start, int64_t end_range, bool include_header); }; class YoutubeStaticMediaProxy : public YoutubeMediaProxy { @@ -57,7 +57,9 @@ namespace QuickMedia { ssize_t downloader_num_read_bytes = 0; int64_t download_range_start = 0; int64_t current_download_range = 0; + int64_t next_range_length = 0; std::string download_header; + bool end_of_file = false; bool download_header_finished = false; bool download_header_sent = false; bool download_header_remaining_sent = false; @@ -70,32 +72,4 @@ namespace QuickMedia { std::string client_request_buffer; char download_read_buffer[16384]; }; - - class YoutubeLiveStreamMediaProxy : public YoutubeMediaProxy { - public: - YoutubeLiveStreamMediaProxy() = default; - YoutubeLiveStreamMediaProxy(YoutubeLiveStreamMediaProxy&) = delete; - YoutubeLiveStreamMediaProxy&operator=(YoutubeLiveStreamMediaProxy&) = delete; - ~YoutubeLiveStreamMediaProxy(); - - bool start(const std::string &youtube_media_url, int64_t content_length) override; - void stop() override; - Error update() override; - bool get_address(std::string &address) override; - private: - Error update_download_program_status(); - Error continue_send(const char *buffer_start, size_t total_bytes_to_write, int &buffer_offset); - private: - ReadProgram downloader_read_program; - std::string youtube_media_url; - int fd[2]; - int64_t livestream_sequence_num = -1; - std::string download_header; - bool download_header_finished = false; - bool download_header_remaining_sent = false; - int download_header_written_offset = 0; - int download_read_buffer_offset = 0; - ssize_t downloader_num_read_bytes = 0; - char download_read_buffer[16384]; - }; }
\ No newline at end of file |