diff --git a/src/main/java/me/kavin/piped/utils/DownloaderImpl.java b/src/main/java/me/kavin/piped/utils/DownloaderImpl.java index e59329a..fa5eb80 100644 --- a/src/main/java/me/kavin/piped/utils/DownloaderImpl.java +++ b/src/main/java/me/kavin/piped/utils/DownloaderImpl.java @@ -10,6 +10,7 @@ import java.net.http.HttpRequest.Builder; import java.net.http.HttpResponse; import java.net.http.HttpResponse.BodyHandlers; import java.util.Map; +import java.util.concurrent.TimeUnit; import org.apache.commons.lang3.StringUtils; import org.jsoup.Jsoup; @@ -28,6 +29,7 @@ import me.kavin.piped.utils.obj.SolvedCaptcha; public class DownloaderImpl extends Downloader { private static HttpCookie saved_cookie; + private static long cookie_received; private static final Object cookie_lock = new Object(); /** @@ -64,7 +66,8 @@ public class DownloaderImpl extends Downloader { synchronized (cookie_lock) { - if (saved_cookie != null && saved_cookie.hasExpired()) + if (saved_cookie != null && saved_cookie.hasExpired() + || (System.currentTimeMillis() - cookie_received > TimeUnit.MINUTES.toMillis(30))) saved_cookie = null; String redir_url = String.valueOf(response.request().uri()); @@ -120,6 +123,7 @@ public class DownloaderImpl extends Downloader { saved_cookie = HttpCookie.parse(URLUtils.silentDecode(StringUtils .substringAfter(formResponse.headers().firstValue("Location").get(), "google_abuse="))) .get(0); + cookie_received = System.currentTimeMillis(); } catch (InterruptedException e) { e.printStackTrace(); diff --git a/src/main/java/me/kavin/piped/utils/ResponseHelper.java b/src/main/java/me/kavin/piped/utils/ResponseHelper.java index 00f4854..ca97c8f 100644 --- a/src/main/java/me/kavin/piped/utils/ResponseHelper.java +++ b/src/main/java/me/kavin/piped/utils/ResponseHelper.java @@ -82,7 +82,7 @@ public class ResponseHelper { final List subtitles = new ObjectArrayList<>(); - final StreamInfo info = futureStream.get(10, TimeUnit.SECONDS); + final StreamInfo info = futureStream.get(); // System.out.println(Constants.mapper.writeValueAsString(info.getStreamSegments())); info.getSubtitles() @@ -93,7 +93,7 @@ public class ResponseHelper { final List videoStreams = new ObjectArrayList<>(); final List audioStreams = new ObjectArrayList<>(); - final String lbryURL = futureLBRY.get(10, TimeUnit.SECONDS); + final String lbryURL = futureLBRY.get(); if (lbryURL != null) videoStreams.add(new PipedStream(lbryURL, "MP4", "LBRY", "video/mp4", false));