diff --git a/play-dl/YouTube/classes/LiveStream.ts b/play-dl/YouTube/classes/LiveStream.ts index aaf7f3d..5f31d89 100644 --- a/play-dl/YouTube/classes/LiveStream.ts +++ b/play-dl/YouTube/classes/LiveStream.ts @@ -155,7 +155,7 @@ export class Stream { this.timer = new Timer(() => { this.timer.reuse(); this.loop(); - }, 280); + }, 265); this.stream.on('close', () => { this.cleanup(); }); diff --git a/play-dl/YouTube/utils/request.ts b/play-dl/YouTube/utils/request.ts index 29e6a49..dad639e 100644 --- a/play-dl/YouTube/utils/request.ts +++ b/play-dl/YouTube/utils/request.ts @@ -110,7 +110,6 @@ async function proxy_getter(req_url: string, req_proxy: Proxy[]): Promise { if (!options?.proxies || options.proxies.length === 0) { let data = ''; - let cook = getCookies() - if (typeof cook === 'string' && options.headers) { - Object.assign(options.headers, { cookie : cook }); + let cookies_added = false + if(options.cookies){ + let cook = getCookies() + if (typeof cook === 'string' && options.headers) { + Object.assign(options.headers, { cookie : cook }); + cookies_added = true + } } let res = await https_getter(url, options).catch((err: Error) => err); if (res instanceof Error) { reject(res); return; } - if(res.headers && res.headers['set-cookie'] && cook){ + if(res.headers && res.headers['set-cookie'] && cookies_added){ res.headers['set-cookie'].forEach((x) => { x.split(';').forEach((x) => { const [key, value] = x.split('='); @@ -184,16 +187,20 @@ export async function request(url: string, options: RequestOpts = {}): Promise (data += c)); res.on('end', () => resolve(data)); } else { - let cook = getCookies() - if (typeof cook === 'string' && options.headers) { - Object.assign(options.headers, { cookie : cook }); + let cookies_added = false + if(options.cookies){ + let cook = getCookies() + if (typeof cook === 'string' && options.headers) { + Object.assign(options.headers, { cookie : cook }); + cookies_added = true + } } let res = await proxy_getter(url, options.proxies).catch((e: Error) => e); if (res instanceof Error) { reject(res); return; } - if(res.head && cook){ + if(res.head && cookies_added){ let cookies = res.head.filter((x) => x.toLocaleLowerCase().startsWith('set-cookie: ')); cookies.forEach((x) => { x.toLocaleLowerCase().split('set-cookie: ')[1].split(';').forEach((y) => { diff --git a/play-dl/index.ts b/play-dl/index.ts index d63f022..a9abe5e 100644 --- a/play-dl/index.ts +++ b/play-dl/index.ts @@ -184,6 +184,7 @@ export function authorization(): void { let cookie: Object = {}; cook.split(';').forEach((x) => { let [ key, value ] = x.split('=') + if(!value) return; key = key.trim() value = value.trim() Object.assign(cookie, { [key] : value })