summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2024-07-21 13:42:51 +0100
committerLibravatar GitHub <noreply@github.com>2024-07-21 14:42:51 +0200
commitc635080a0bfc7efd8519adfa527b012115cb0208 (patch)
treee2754d5084ea07b3aa51aa57fa21945d3e28da8e
parent[feature/frontend] Respect `prefers-reduced-motion` for avatars, headers, and... (diff)
downloadgotosocial-c635080a0bfc7efd8519adfa527b012115cb0208.tar.xz
[feature] add flac support (#3121)
* add flac support to the ffprobe format/stream -> filetype parser * also add audio/flac for flac (not just x-flac) * update tests --------- Co-authored-by: tobi <tobi.smethurst@protonmail.com>
-rw-r--r--internal/api/client/instance/instancepatch_test.go12
-rw-r--r--internal/media/ffmpeg.go2
-rw-r--r--internal/media/manager.go3
-rw-r--r--internal/typeutils/internaltofrontend_test.go4
4 files changed, 21 insertions, 0 deletions
diff --git a/internal/api/client/instance/instancepatch_test.go b/internal/api/client/instance/instancepatch_test.go
index e68508fc2..095e2e543 100644
--- a/internal/api/client/instance/instancepatch_test.go
+++ b/internal/api/client/instance/instancepatch_test.go
@@ -109,6 +109,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch1() {
"audio/mp2",
"audio/mp3",
"video/x-msvideo",
+ "audio/flac",
+ "audio/x-flac",
"image/png",
"image/apng",
"audio/ogg",
@@ -243,6 +245,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch2() {
"audio/mp2",
"audio/mp3",
"video/x-msvideo",
+ "audio/flac",
+ "audio/x-flac",
"image/png",
"image/apng",
"audio/ogg",
@@ -377,6 +381,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch3() {
"audio/mp2",
"audio/mp3",
"video/x-msvideo",
+ "audio/flac",
+ "audio/x-flac",
"image/png",
"image/apng",
"audio/ogg",
@@ -562,6 +568,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch6() {
"audio/mp2",
"audio/mp3",
"video/x-msvideo",
+ "audio/flac",
+ "audio/x-flac",
"image/png",
"image/apng",
"audio/ogg",
@@ -718,6 +726,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch8() {
"audio/mp2",
"audio/mp3",
"video/x-msvideo",
+ "audio/flac",
+ "audio/x-flac",
"image/png",
"image/apng",
"audio/ogg",
@@ -893,6 +903,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch9() {
"audio/mp2",
"audio/mp3",
"video/x-msvideo",
+ "audio/flac",
+ "audio/x-flac",
"image/png",
"image/apng",
"audio/ogg",
diff --git a/internal/media/ffmpeg.go b/internal/media/ffmpeg.go
index 6d4c9ac87..ce90028af 100644
--- a/internal/media/ffmpeg.go
+++ b/internal/media/ffmpeg.go
@@ -335,6 +335,8 @@ func (res *result) GetFileType() (gtsmodel.FileType, string) {
}
case "avi":
return gtsmodel.FileTypeVideo, "avi"
+ case "flac":
+ return gtsmodel.FileTypeAudio, "flac"
}
return gtsmodel.FileTypeUnknown, res.format
}
diff --git a/internal/media/manager.go b/internal/media/manager.go
index 13bcebe79..0099dfe07 100644
--- a/internal/media/manager.go
+++ b/internal/media/manager.go
@@ -43,6 +43,9 @@ var SupportedMIMETypes = []string{
"video/x-msvideo", // .avi
+ "audio/flac", // .flac
+ "audio/x-flac", // .flac
+
// png types
"image/png", // .png
"image/apng", // .apng
diff --git a/internal/typeutils/internaltofrontend_test.go b/internal/typeutils/internaltofrontend_test.go
index 3599e7b56..faae22e65 100644
--- a/internal/typeutils/internaltofrontend_test.go
+++ b/internal/typeutils/internaltofrontend_test.go
@@ -1432,6 +1432,8 @@ func (suite *InternalToFrontendTestSuite) TestInstanceV1ToFrontend() {
"audio/mp2",
"audio/mp3",
"video/x-msvideo",
+ "audio/flac",
+ "audio/x-flac",
"image/png",
"image/apng",
"audio/ogg",
@@ -1570,6 +1572,8 @@ func (suite *InternalToFrontendTestSuite) TestInstanceV2ToFrontend() {
"audio/mp2",
"audio/mp3",
"video/x-msvideo",
+ "audio/flac",
+ "audio/x-flac",
"image/png",
"image/apng",
"audio/ogg",