summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/media/ffmpeg.go18
1 files changed, 13 insertions, 5 deletions
diff --git a/internal/media/ffmpeg.go b/internal/media/ffmpeg.go
index 693b6f490..4baa3dbe5 100644
--- a/internal/media/ffmpeg.go
+++ b/internal/media/ffmpeg.go
@@ -381,11 +381,19 @@ func (res *result) GetFileType() (gtsmodel.FileType, string) {
return gtsmodel.FileTypeAudio, "wma"
}
case "ogg":
- switch {
- case len(res.video) > 0:
- return gtsmodel.FileTypeVideo, "ogv"
- case len(res.audio) > 0:
- return gtsmodel.FileTypeAudio, "ogg"
+ if len(res.video) > 0 {
+ switch res.video[0].codec {
+ case "theora", "dirac": // daala, tarkin
+ return gtsmodel.FileTypeVideo, "ogv"
+ }
+ }
+ if len(res.audio) > 0 {
+ switch res.audio[0].codec {
+ case "opus", "libopus":
+ return gtsmodel.FileTypeAudio, "opus"
+ default:
+ return gtsmodel.FileTypeAudio, "ogg"
+ }
}
case "matroska,webm":
switch {