Versions in this module Expand all Collapse all v0 v0.6.1 Mar 15, 2026 Changes in this version + var ErrChecksumMismatch = errors.New("checksum mismatch") + var ErrDownloadFailed = errors.New("download failed") + var ErrNotFound = errors.New("ffmpeg not found") + var ErrTimeout = errors.New("ffmpeg did not exit within timeout") + var ErrUnsupportedPlatform = errors.New("unsupported platform for FFmpeg auto-download") + func CheckVersion(ctx context.Context, ffmpegPath string) + func Resolve(ctx context.Context) (string, error) + func RunGraceful(ctx context.Context, ffmpegPath string, args []string, timeout time.Duration) error + func RunOutput(ctx context.Context, ffmpegPath string, args []string) (string, error) + type Executor struct + func NewExecutor(opts ...ExecutorOption) *Executor + func (e *Executor) RunOutput(ctx context.Context, ffmpegPath string, args []string) (string, error) + type ExecutorOption func(*Executor) + func WithRunOutput(fn runOutputFn) ExecutorOption + type Resolver struct + func NewResolver(opts ...ResolverOption) *Resolver + func (r *Resolver) Resolve(ctx context.Context) (string, error) + type ResolverOption func(*Resolver) + func WithEnvProvider(e envProvider) ResolverOption + func WithFileReader(r fileReader) ResolverOption + func WithFileWriter(w fileWriter) ResolverOption + func WithHTTPClient(c httpDoer) ResolverOption + func WithPlatform(goos, goarch string) ResolverOption + func WithPlatformInfo(info binaryInfo) ResolverOption + func WithStderr(w io.Writer) ResolverOption + type VersionChecker struct + func NewVersionChecker(opts ...VersionCheckerOption) *VersionChecker + func (vc *VersionChecker) Check(ctx context.Context, ffmpegPath string) bool + type VersionCheckerOption func(*VersionChecker) + func WithVersionExecutor(e *Executor) VersionCheckerOption + func WithVersionStderr(w io.Writer) VersionCheckerOption