Skip to content

Conversation

@djthorpe
Copy link
Member

@djthorpe djthorpe commented Jan 7, 2026

This PR adds a new HTTP client package for the FFmpeg API, enabling remote execution of FFmpeg operations via HTTP endpoints. The implementation follows the existing client pattern used in pkg/chromaprint/client.go.

Key changes:

  • Created pkg/ffmpeg/httpclient package with Client struct embedding go-client.Client
  • Implemented ListAudioChannelLayouts method to fetch audio channel layout information via HTTP
  • Integrated client into gomedia CLI tool with optional endpoint configuration via --url flag or GOMEDIA_ENDPOINT environment variable

@djthorpe djthorpe self-assigned this Jan 7, 2026
Copilot AI review requested due to automatic review settings January 7, 2026 21:36
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new HTTP client package for the FFmpeg API, enabling remote execution of FFmpeg operations via HTTP endpoints. The implementation follows the existing client pattern used in pkg/chromaprint/client.go.

Key changes:

  • Created pkg/ffmpeg/httpclient package with Client struct embedding go-client.Client
  • Implemented ListAudioChannelLayouts method to fetch audio channel layout information via HTTP
  • Integrated client into gomedia CLI tool with optional endpoint configuration via --url flag or GOMEDIA_ENDPOINT environment variable

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
pkg/ffmpeg/httpclient/client.go Defines Client struct and New() constructor for creating HTTP clients with endpoint configuration
pkg/ffmpeg/httpclient/opts.go Defines options pattern infrastructure (opt struct, Opt type, applyOpts function)
pkg/ffmpeg/httpclient/list.go Implements ListAudioChannelLayouts method for fetching audio channel layouts via HTTP
cmd/gomedia/main.go Adds Client() method to Globals for lazy HTTP client initialization with debug tracing support
cmd/gomedia/list.go Updates ListAudioChannelsCommand to use HTTP client when endpoint is configured, falling back to local manager

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants