31 lines
871 B
Go
31 lines
871 B
Go
package bootstrap
|
|
|
|
import (
|
|
"spark-server/internal/pkg/media"
|
|
)
|
|
|
|
// MediaPolicy builds the shared user-check / bot-compress limits from config.
|
|
func MediaPolicy(cfg *MediaConfig) media.Policy {
|
|
if cfg == nil {
|
|
return media.Policy{}
|
|
}
|
|
return media.Policy{
|
|
Enabled: cfg.Enabled,
|
|
UserReject: cfg.UserReject,
|
|
Limits: media.Limits{
|
|
ImageMaxEdge: cfg.ImageMaxEdge,
|
|
VideoMaxEdge: cfg.VideoMaxEdge,
|
|
AvatarMaxEdge: cfg.AvatarMaxEdge,
|
|
ImageMaxBytes: cfg.ImageMaxBytes,
|
|
VideoMaxBytes: cfg.VideoMaxBytes,
|
|
AvatarMaxBytes: cfg.AvatarMaxBytes,
|
|
}.Normalize(),
|
|
}
|
|
}
|
|
|
|
// MediaCompressOptions returns limits + encoder settings for bot compressors.
|
|
func MediaCompressOptions(cfg *MediaConfig) (lim media.Limits, jpegQuality, videoCRF int, ffmpegPath string) {
|
|
p := MediaPolicy(cfg)
|
|
return p.Limits, cfg.JPEGQuality, cfg.VideoCRF, cfg.FFmpegPath
|
|
}
|