aboutsummaryrefslogtreecommitdiffhomepage
path: root/server
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2020-11-12 17:13:32 +0100
committerChocobozzz <me@florianbigard.com>2020-11-12 17:13:32 +0100
commit501af82d999a79e277f87794f6296d0e3495775c (patch)
tree1ba78d7c59446176d0ebf5a5bfb86c54859d09f1 /server
parent2122606318bf208262d1573ab8d9a772cd697448 (diff)
downloadPeerTube-501af82d999a79e277f87794f6296d0e3495775c.tar.gz
PeerTube-501af82d999a79e277f87794f6296d0e3495775c.tar.zst
PeerTube-501af82d999a79e277f87794f6296d0e3495775c.zip
Delay notification when waiting for a live
Diffstat (limited to 'server')
-rw-r--r--server/initializers/constants.ts2
-rw-r--r--server/lib/live-manager.ts10
2 files changed, 9 insertions, 3 deletions
diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts
index 679503731..02e42a594 100644
--- a/server/initializers/constants.ts
+++ b/server/initializers/constants.ts
@@ -620,6 +620,7 @@ const VIDEO_LIVE = {
620 CLEANUP_DELAY: 1000 * 60 * 5, // 5 minutes 620 CLEANUP_DELAY: 1000 * 60 * 5, // 5 minutes
621 SEGMENT_TIME_SECONDS: 4, // 4 seconds 621 SEGMENT_TIME_SECONDS: 4, // 4 seconds
622 SEGMENTS_LIST_SIZE: 15, // 15 maximum segments in live playlist 622 SEGMENTS_LIST_SIZE: 15, // 15 maximum segments in live playlist
623 EDGE_LIVE_DELAY_SEGMENTS_NOTIFICATION: 3,
623 RTMP: { 624 RTMP: {
624 CHUNK_SIZE: 60000, 625 CHUNK_SIZE: 60000,
625 GOP_CACHE: true, 626 GOP_CACHE: true,
@@ -750,6 +751,7 @@ if (isTestInstance() === true) {
750 751
751 VIDEO_LIVE.CLEANUP_DELAY = 5000 752 VIDEO_LIVE.CLEANUP_DELAY = 5000
752 VIDEO_LIVE.SEGMENT_TIME_SECONDS = 2 753 VIDEO_LIVE.SEGMENT_TIME_SECONDS = 2
754 VIDEO_LIVE.EDGE_LIVE_DELAY_SEGMENTS_NOTIFICATION = 1
753} 755}
754 756
755updateWebserverUrls() 757updateWebserverUrls()
diff --git a/server/lib/live-manager.ts b/server/lib/live-manager.ts
index 60ef30d15..d1a0cee91 100644
--- a/server/lib/live-manager.ts
+++ b/server/lib/live-manager.ts
@@ -323,11 +323,15 @@ class LiveManager {
323 await video.save() 323 await video.save()
324 videoLive.Video = video 324 videoLive.Video = video
325 325
326 await federateVideoIfNeeded(video, false) 326 setTimeout(() => {
327 federateVideoIfNeeded(video, false)
328 .catch(err => logger.error('Cannot federate live video %s.', video.url, { err }))
329
330 PeerTubeSocket.Instance.sendVideoLiveNewState(video)
331 }, VIDEO_LIVE.SEGMENT_TIME_SECONDS * 1000 * VIDEO_LIVE.EDGE_LIVE_DELAY_SEGMENTS_NOTIFICATION)
327 332
328 PeerTubeSocket.Instance.sendVideoLiveNewState(video)
329 } catch (err) { 333 } catch (err) {
330 logger.error('Cannot federate video %d.', videoLive.videoId, { err }) 334 logger.error('Cannot save/federate live video %d.', videoLive.videoId, { err })
331 } finally { 335 } finally {
332 masterWatcher.close() 336 masterWatcher.close()
333 .catch(err => logger.error('Cannot close master watcher of %s.', outPath, { err })) 337 .catch(err => logger.error('Cannot close master watcher of %s.', outPath, { err }))