diff --git a/play-dl/YouTube/classes/LiveStream.ts b/play-dl/YouTube/classes/LiveStream.ts index 597a3f8..8674562 100644 --- a/play-dl/YouTube/classes/LiveStream.ts +++ b/play-dl/YouTube/classes/LiveStream.ts @@ -180,7 +180,7 @@ export class Stream { "range" : `bytes=${this.bytes_count}-${end >= this.content_length ? '' : end}` } }) - if(Number(stream.statusCode) >= 400){ + if(Number(stream.statusCode) >= 400 && this.bytes_count === 0){ this.cleanup() await this.retry() this.loop() diff --git a/play-dl/YouTube/stream.ts b/play-dl/YouTube/stream.ts index 3c29288..8f50b5c 100644 --- a/play-dl/YouTube/stream.ts +++ b/play-dl/YouTube/stream.ts @@ -1,13 +1,12 @@ import { video_info } from "." import { LiveStreaming, Stream } from "./classes/LiveStream" -import { request } from "./utils/request" export enum StreamType{ Arbitrary = 'arbitrary', - Raw = 'raw', - OggOpus = 'ogg/opus', - WebmOpus = 'webm/opus', - Opus = 'opus', + Raw = 'raw', + OggOpus = 'ogg/opus', + WebmOpus = 'webm/opus', + Opus = 'opus', } interface InfoData{ diff --git a/play-dl/YouTube/utils/request.ts b/play-dl/YouTube/utils/request.ts index 39693a4..976c487 100644 --- a/play-dl/YouTube/utils/request.ts +++ b/play-dl/YouTube/utils/request.ts @@ -1,5 +1,5 @@ import https, { RequestOptions } from 'https' -import {IncomingMessage } from 'http' +import { IncomingMessage } from 'http' import { URL } from 'url' interface RequestOpts extends RequestOptions{ @@ -10,11 +10,11 @@ interface RequestOpts extends RequestOptions{ async function https_getter(req_url : string, options : RequestOpts = {}): Promise{ return new Promise((resolve, reject) => { let s = new URL(req_url) - if(!options.method) options.method = "GET" + options.method ??= "GET" let req_options : RequestOptions = { host : s.hostname, path : s.pathname + s.search, - headers : (options.headers) ? options.headers : {}, + headers : options.headers ?? {}, method : options.method } @@ -44,11 +44,10 @@ export async function request(url : string, options? : RequestOpts): Promise{ return new Promise(async (resolve, reject) => { - let data = '' let res = await https_getter(url, options) if(Number(res.statusCode) >= 300 && Number(res.statusCode) < 400){ res = await https_getter(res.headers.location as string, options) } resolve(res) }) -} \ No newline at end of file +}