diff --git a/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java b/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java index 8126cc7e8..f5b9b06d4 100644 --- a/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java +++ b/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java @@ -117,7 +117,9 @@ public class DownloadRunnable extends Thread { byte[] buf = new byte[DownloadMission.BUFFER_SIZE]; int len; - while (start < end && mMission.running && (len = is.read(buf, 0, buf.length)) != -1) { + // use always start <= end + // fixes a deadlock in DownloadRunnable because youtube is sending one byte alone after downloading 26MiB exactly + while (start <= end && mMission.running && (len = is.read(buf, 0, buf.length)) != -1) { f.write(buf, 0, len); start += len; block.done += len;