diff --git a/src/services/player.ts b/src/services/player.ts index 5f4d368..67b8b38 100644 --- a/src/services/player.ts +++ b/src/services/player.ts @@ -364,6 +364,17 @@ export default class { // Create stream and pipe to capacitor return new Promise((resolve, reject) => { + const capacitor = new WriteStream(); + + // Cache video if necessary + if (shouldCacheVideo) { + const cacheStream = this.fileCache.createWriteStream(this.getHashForCache(url)); + + capacitor.createReadStream().pipe(cacheStream); + } else { + ffmpegInputOptions.push('-re'); + } + const youtubeStream = ffmpeg(ffmpegInput) .inputOptions(ffmpegInputOptions) .noVideo() @@ -374,17 +385,8 @@ export default class { reject(error); }); - const capacitor = new WriteStream(); - youtubeStream.pipe(capacitor); - // Cache video if necessary - if (shouldCacheVideo) { - const cacheStream = this.fileCache.createWriteStream(this.getHashForCache(url)); - - capacitor.createReadStream().pipe(cacheStream); - } - resolve(capacitor.createReadStream()); }); }