package media // ImageMeta is client-declared image metadata on publish. type ImageMeta struct { Width int Height int Size int64 } // VideoMeta is client-declared video metadata on publish. type VideoMeta struct { Width int Height int Size int64 DurationMS int } // CheckPublishImages returns the first image violation, if any. func (p Policy) CheckPublishImages(images []ImageMeta) *Violation { for _, img := range images { if v := p.CheckImageMeta(img.Width, img.Height, img.Size); v != nil { return v } } return nil } // CheckPublishVideo returns a video violation, if any. func (p Policy) CheckPublishVideo(v *VideoMeta) *Violation { if v == nil { return nil } return p.CheckVideoMeta(v.Width, v.Height, v.Size, v.DurationMS) }