2023-09-11 15:43:09 +00:00
/ *
Copyright © 2023 Seednode < seednode @ seedno . de >
* /
2023-09-11 16:25:39 +00:00
package formats
2023-09-11 15:43:09 +00:00
import (
"fmt"
"github.com/h2non/filetype"
)
2023-09-11 16:25:39 +00:00
func RegisterVideoFormats ( ) * SupportedFormat {
return & SupportedFormat {
2023-09-11 17:09:08 +00:00
Title : func ( queryParams , fileUri , filePath , fileName , mime string ) string {
2023-09-11 15:43:09 +00:00
return fmt . Sprintf ( ` <title>%s</title> ` , fileName )
} ,
2023-09-11 17:09:08 +00:00
Body : func ( queryParams , fileUri , filePath , fileName , mime string ) string {
2023-09-11 15:43:09 +00:00
return fmt . Sprintf ( ` <a href="/%s"><video controls autoplay><source src="%s" type="%s" alt="Roulette selected: %s">Your browser does not support the video tag.</video></a> ` ,
queryParams ,
2023-09-11 17:09:08 +00:00
fileUri ,
2023-09-11 15:43:09 +00:00
mime ,
fileName )
} ,
2023-09-11 16:25:39 +00:00
Extensions : [ ] string {
2023-09-11 15:43:09 +00:00
` .mp4 ` ,
` .ogv ` ,
` .webm ` ,
} ,
validator : func ( head [ ] byte ) bool {
return filetype . IsVideo ( head )
} ,
}
}