[PR #5112] Add progress stall for ffmpeg podcast downloads #4430

Open
opened 2026-04-25 00:19:43 +02:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/advplyr/audiobookshelf/pull/5112
Author: @Vito0912
Created: 3/9/2026
Status: 🔄 Open

Base: masterHead: podcastStall


📝 Commits (2)

  • 0506b75 Add progress stall for ffmpeg
  • f86258c Add stalling for fileUtils

📊 Changes

2 files changed (+81 additions, -3 deletions)

View changed files

📝 server/utils/ffmpegHelpers.js (+37 -0)
📝 server/utils/fileUtils.js (+44 -3)

📄 Description

Brief summary

See Discord below. Just a quick fix, nothing major

Which issue is fixed?

It should fix: https://discord.com/channels/942908292873723984/954760207131615264/1480565704670314516
fixes #4116

In-depth Description

After Axios receives a chunk, the timeout is ignored. ffmpeg waits forever. So if the stream breaks, it will stall forever. Because .on('progress') is a constant that should be called at least once a second if active data is being streamed, if there is no progress for 60 seconds, it sees the podcast as stalled.

How have you tested this?

No. This is only theoretical. I made sure it will not break downloads (I hope).

Screenshots


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/advplyr/audiobookshelf/pull/5112 **Author:** [@Vito0912](https://github.com/Vito0912) **Created:** 3/9/2026 **Status:** 🔄 Open **Base:** `master` ← **Head:** `podcastStall` --- ### 📝 Commits (2) - [`0506b75`](https://github.com/advplyr/audiobookshelf/commit/0506b75ef2ef7f31c568189986024c8dd4732a1e) Add progress stall for ffmpeg - [`f86258c`](https://github.com/advplyr/audiobookshelf/commit/f86258cd13637d6f02724a6f2a55c3398b582596) Add stalling for fileUtils ### 📊 Changes **2 files changed** (+81 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `server/utils/ffmpegHelpers.js` (+37 -0) 📝 `server/utils/fileUtils.js` (+44 -3) </details> ### 📄 Description <!-- For Work In Progress Pull Requests, please use the Draft PR feature, see https://github.blog/2019-02-14-introducing-draft-pull-requests/ for further details. If you do not follow this template, the PR may be closed without review. Please ensure all checks pass. If you are a new contributor, the workflows will need to be manually approved before they run. --> ## Brief summary See Discord below. Just a quick fix, nothing major ## Which issue is fixed? It *should* fix: https://discord.com/channels/942908292873723984/954760207131615264/1480565704670314516 fixes #4116 ## In-depth Description After Axios receives a chunk, the timeout is ignored. ffmpeg waits forever. So if the stream breaks, it will stall forever. Because `.on('progress')` is a constant that should be called at least once a second if active data is being streamed, if there is no progress for 60 seconds, it sees the podcast as stalled. ## How have you tested this? No. This is only theoretical. I made sure it will not break downloads (I hope). ## Screenshots <!-- If your PR includes any changes to the web client, please include screenshots or a short video from before and after your changes. --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2026-04-25 00:19:43 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#4430