X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Flive-manager.ts;h=379f61bdf332de10b9491f2346b4631cb011bdf3;hb=9cfeb3cf989fffccdfe3e575903dc00baab255b2;hp=ef50e3cdb758d79e07fb91e2baabc00ddbf7f6da;hpb=e772bdf14c46701552491dc337a21325c34e1ec2;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/live-manager.ts b/server/lib/live-manager.ts index ef50e3cdb..379f61bdf 100644 --- a/server/lib/live-manager.ts +++ b/server/lib/live-manager.ts @@ -287,16 +287,17 @@ class LiveManager { for (let i = 0; i < allResolutions.length; i++) { const resolution = allResolutions[i] - VideoFileModel.upsert({ + const file = new VideoFileModel({ resolution, size: -1, extname: '.ts', infoHash: null, fps, videoStreamingPlaylistId: playlist.id - }).catch(err => { - logger.error('Cannot create file for live streaming.', { err }) }) + + VideoFileModel.customUpsert(file, 'streaming-playlist', null) + .catch(err => logger.error('Cannot create file for live streaming.', { err })) } const outPath = getHLSDirectory(videoLive.Video) @@ -504,7 +505,7 @@ class LiveManager { private isDurationConstraintValid (streamingStartTime: number) { const maxDuration = CONFIG.LIVE.MAX_DURATION // No limit - if (maxDuration === null) return true + if (maxDuration < 0) return true const now = new Date().getTime() const max = streamingStartTime + maxDuration @@ -536,6 +537,8 @@ class LiveManager { await federateVideoIfNeeded(video, false) + PeerTubeSocket.Instance.sendVideoViewsUpdate(video) + // Only keep not expired watchers const newWatchers = watchers.filter(w => w > notBefore) this.watchersPerVideo.set(videoId, newWatchers)