]> jfr.im git - yt-dlp.git/commitdiff
[downloader/fc2] Stop heatbeating once FFmpeg finishes
authorLesmiscore <redacted>
Sun, 24 Apr 2022 15:45:19 +0000 (00:45 +0900)
committerLesmiscore <redacted>
Sun, 24 Apr 2022 15:45:25 +0000 (00:45 +0900)
Authored by: Lesmiscore

yt_dlp/downloader/fc2.py

index d503aac042d23be29a610be375b995871eccc4bb..f9763debbe831018da64bb780611150f67cb599a 100644 (file)
@@ -18,6 +18,9 @@ def real_download(self, filename, info_dict):
         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 @@ def heartbeat():
             '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