diff --git a/api/funkwhale_api/music/models.py b/api/funkwhale_api/music/models.py index f95a8bb3b123d06c0db636449257281467c82002..3e39e91e2d2cbd228fd530560f29edacdccd19f8 100644 --- a/api/funkwhale_api/music/models.py +++ b/api/funkwhale_api/music/models.py @@ -855,8 +855,7 @@ class Upload(models.Model): if not input: return - input_format = utils.MIMETYPE_TO_EXTENSION[self.mimetype] - audio = pydub.AudioSegment.from_file(input, format=input_format) + audio = pydub.AudioSegment.from_file(input) return audio def save(self, **kwargs): diff --git a/api/funkwhale_api/music/utils.py b/api/funkwhale_api/music/utils.py index 17b5b7292be45f3e9803e17d8b9d1df4f6bd8f74..8d0f05bd5f03d4ea721d7ecdebca7ffca7cb0cb7 100644 --- a/api/funkwhale_api/music/utils.py +++ b/api/funkwhale_api/music/utils.py @@ -101,7 +101,7 @@ def get_actor_from_request(request): return actor -def transcode_file(input, output, input_format, output_format, **kwargs): +def transcode_file(input, output, input_format=None, output_format="mp3", **kwargs): with input.open("rb"): audio = pydub.AudioSegment.from_file(input, format=input_format) return transcode_audio(audio, output, output_format, **kwargs) diff --git a/changes/changelog.d/1274.bugfix b/changes/changelog.d/1274.bugfix new file mode 100644 index 0000000000000000000000000000000000000000..8dfe061aceb5902f947d8137896e799a53c3ae6a --- /dev/null +++ b/changes/changelog.d/1274.bugfix @@ -0,0 +1 @@ +Changed audio format detection to happen via sniffing and not file extensions (#1274)