mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 12:52:27 -05:00
[feature] Use gifv type for short soundless mp4 videos (#3182)
This commit is contained in:
parent
3045782b49
commit
b19cfee7ae
5 changed files with 49 additions and 8 deletions
|
|
@ -305,7 +305,15 @@ func (res *result) GetFileType() (gtsmodel.FileType, string) {
|
|||
case "mov,mp4,m4a,3gp,3g2,mj2":
|
||||
switch {
|
||||
case len(res.video) > 0:
|
||||
return gtsmodel.FileTypeVideo, "mp4"
|
||||
if len(res.audio) == 0 &&
|
||||
res.duration <= 30 {
|
||||
// Short, soundless
|
||||
// video file aka gifv.
|
||||
return gtsmodel.FileTypeGifv, "mp4"
|
||||
} else {
|
||||
// Video file (with or without audio).
|
||||
return gtsmodel.FileTypeVideo, "mp4"
|
||||
}
|
||||
case len(res.audio) > 0 &&
|
||||
res.audio[0].codec == "aac":
|
||||
// m4a only supports [aac] audio.
|
||||
|
|
|
|||
|
|
@ -202,7 +202,8 @@ func (p *ProcessingMedia) store(ctx context.Context) error {
|
|||
|
||||
switch p.media.Type {
|
||||
case gtsmodel.FileTypeImage,
|
||||
gtsmodel.FileTypeVideo:
|
||||
gtsmodel.FileTypeVideo,
|
||||
gtsmodel.FileTypeGifv:
|
||||
// Attempt to clean as metadata from file as possible.
|
||||
if err := clearMetadata(ctx, temppath); err != nil {
|
||||
return gtserror.Newf("error cleaning metadata: %w", err)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue