summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/invidious.cr17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/invidious.cr b/src/invidious.cr
index dacefad4..01759a62 100644
--- a/src/invidious.cr
+++ b/src/invidious.cr
@@ -1051,17 +1051,16 @@ get "/videoplayback*" do |env|
env.response.headers["Access-Control-Allow-Origin"] = "*"
- chunk = Bytes[8]
-
- loop do
- count = response.body_io.read(chunk)
-
- begin
- env.response.write(chunk)
+ begin
+ chunk_size = 4096
+ size = 1
+ while size > 0
+ size = IO.copy(response.body_io, env.response.output, chunk_size)
env.response.flush
- rescue ex
- break
+ Fiber.yield
end
+ rescue ex
+ break
end
end
end