diff options
author | 2024-07-15 14:24:53 +0000 | |
---|---|---|
committer | 2024-07-15 15:24:53 +0100 | |
commit | de45c0be60e453e69263f5b32ab2ce2661dc74ca (patch) | |
tree | dd3c2196ea3a4dad5cd750d7310b801f05b95520 /internal/media/processingemoji.go | |
parent | [feature/frontend] Add player for audio files; use thumbnail for `poster` (#3... (diff) | |
download | gotosocial-de45c0be60e453e69263f5b32ab2ce2661dc74ca.tar.xz |
[feature] more filetype support! (#3107)
* add more supported file types to our media processor that ffmpeg supports, update supported mime type lists
* add code comments to the supported mime types slice
* don't check for zero value string, just parse
* remove some unneeded consts which make the code a bit harder to read
* fix test expected instance media mime types, use compact ffprobe json, simple media processing by type
* final tweaks to media processing code
* don't use safe divide where we don't need to
Diffstat (limited to 'internal/media/processingemoji.go')
-rw-r--r-- | internal/media/processingemoji.go | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/internal/media/processingemoji.go b/internal/media/processingemoji.go index cca456837..996a3aa03 100644 --- a/internal/media/processingemoji.go +++ b/internal/media/processingemoji.go @@ -160,27 +160,17 @@ func (p *ProcessingEmoji) store(ctx context.Context) error { // Pass input file through ffprobe to // parse further metadata information. result, err := ffprobe(ctx, temppath) - if err != nil { - return gtserror.Newf("error ffprobing data: %w", err) - } - - switch { - // No errors parsing data. - case result.Error == nil: - - // Data type unhandleable by ffprobe. - case result.Error.Code == -1094995529: + if err != nil && !isUnsupportedTypeErr(err) { + return gtserror.Newf("ffprobe error: %w", err) + } else if result == nil { log.Warn(ctx, "unsupported data type") return nil - - default: - return gtserror.Newf("ffprobe error: %w", err) } var ext string - // Set media type from ffprobe format data. - fileType, ext := result.Format.GetFileType() + // Get type from ffprobe format data. + fileType, ext := result.GetFileType() if fileType != gtsmodel.FileTypeImage { return gtserror.Newf("unsupported emoji filetype: %s (%s)", fileType, ext) } |