Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
av.open
functions checks input metadata to determine the mode to open with ("r" or "w"). If an input todecode_audio
is found to be in write-mode, it will fail. Forcing read mode solves this.I encountered this in a FastAPI application, where I used the
UploadFile
type to accept a file in my API endpoint. This uses aSpooledTemporaryFile
underneath. In some circumstances, such as with small input files, this spooled file will have mode "w+b" when we first attempt to read it, causingdecode_audio
to try opening withav.open
in write mode, and failing. Forcing to read-mode fixes this.It would not make sense for
av.open
indecode_audio
to ever use write-mode, so this should not negatively impact any other uses.