Browse Source

[downloader/fc2] Stop heatbeating once FFmpeg finishes

Authored by: Lesmiscore
Lesmiscore 2 years ago
parent
commit
69b59b4b4b
1 changed files with 8 additions and 1 deletions
  1. 8 1
      yt_dlp/downloader/fc2.py

+ 8 - 1
yt_dlp/downloader/fc2.py

@@ -18,6 +18,9 @@ class FC2LiveFD(FileDownloader):
         heartbeat_state = [None, 1]
 
         def heartbeat():
+            if heartbeat_state[1] < 0:
+                return
+
             try:
                 heartbeat_state[1] += 1
                 ws.send('{"name":"heartbeat","arguments":{},"id":%d}' % heartbeat_state[1])
@@ -36,4 +39,8 @@ class FC2LiveFD(FileDownloader):
             'ws': None,
             'protocol': 'live_ffmpeg',
         })
-        return FFmpegFD(self.ydl, self.params or {}).download(filename, new_info_dict)
+        try:
+            return FFmpegFD(self.ydl, self.params or {}).download(filename, new_info_dict)
+        finally:
+            # stop heartbeating
+            heartbeat_state[1] = -1