Still not sure about memory leak for video streaming, will probably create an issue for it in the future
This commit is contained in:
@@ -265,6 +265,7 @@ class FileSystemService implements ChunkInterface {
|
||||
|
||||
await awaitStreamVideo(start, end, differenceStart, decipher, res, req, tempUUID, allStreamsToErrorCatch);
|
||||
console.log("Video Stream Finished");
|
||||
readStream.destroy();
|
||||
}
|
||||
|
||||
getPublicDownload = async(fileID: string, tempToken: any, res: Response) => {
|
||||
|
||||
@@ -288,6 +288,7 @@ class MongoService implements ChunkInterface {
|
||||
const tempUUID = req.params.uuid;
|
||||
|
||||
await awaitStreamVideo(start, end, differenceStart, decipher, res, req, tempUUID, allStreamsToErrorCatch);
|
||||
readStream.destroy();
|
||||
}
|
||||
|
||||
deleteFile = async(userID: string, fileID: string) => {
|
||||
|
||||
@@ -232,6 +232,7 @@ class S3Service implements ChunkInterface {
|
||||
|
||||
await awaitStreamVideo(start, end, differenceStart, decipher, res, req, tempUUID, allStreamsToErrorCatch);
|
||||
console.log("Video stream finished");
|
||||
s3ReadStream.destroy();
|
||||
}
|
||||
|
||||
getThumbnail = async(user: UserInterface, id: string) => {
|
||||
|
||||
@@ -6,7 +6,7 @@ const awaitStreamVideo = (start: number, end:number, differenceStart: number,
|
||||
decipher: any, res: Response, req: Request, tempUUID: string, streamsToErrorCatch: any[]) => {
|
||||
|
||||
const currentUUID = uuid.v4();
|
||||
//tempStorage[tempUUID] = currentUUID;
|
||||
tempStorage[tempUUID] = currentUUID;
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
@@ -14,6 +14,7 @@ const awaitStreamVideo = (start: number, end:number, differenceStart: number,
|
||||
//let sizeCounter = 0;
|
||||
|
||||
req.on("close", () => {
|
||||
//console.log("close resolved");
|
||||
streamsToErrorCatch.forEach((stream) => {
|
||||
stream.destroy();
|
||||
})
|
||||
@@ -21,6 +22,7 @@ const awaitStreamVideo = (start: number, end:number, differenceStart: number,
|
||||
})
|
||||
|
||||
req.on("end", () => {
|
||||
//console.log("End resolved");
|
||||
resolve();
|
||||
})
|
||||
|
||||
@@ -35,11 +37,12 @@ const awaitStreamVideo = (start: number, end:number, differenceStart: number,
|
||||
//console.log("New Stream Requested, Desroying old stream");
|
||||
|
||||
streamsToErrorCatch.forEach((stream) => {
|
||||
//stream.destroy();
|
||||
stream.destroy();
|
||||
})
|
||||
|
||||
//console.log("Old Stream Desroyed");
|
||||
//resolve();
|
||||
//console.log("Old Stream Resolved");
|
||||
resolve();
|
||||
//delete tempStorage[tempUUID];
|
||||
}
|
||||
|
||||
@@ -97,6 +100,7 @@ const awaitStreamVideo = (start: number, end:number, differenceStart: number,
|
||||
})
|
||||
|
||||
decipher.on("end", () => {
|
||||
//console.log("decipher resolved");
|
||||
res.end();
|
||||
resolve();
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user