Skip to content

Align video configuration with the admin settings - #14

Open
gabek wants to merge 2 commits into
mainfrom
gek/plugin-video-config-parity
Open

Align video configuration with the admin settings#14
gabek wants to merge 2 commits into
mainfrom
gek/plugin-video-config-parity

Conversation

@gabek

@gabek gabek commented Aug 5, 2026

Copy link
Copy Markdown
Member

Video configuration types, examples, and reference docs now match the settings exposed by the Owncast admin.

  • Add typed autoplay modes and supported video codec names.
  • Replace variant audio bitrate with CPU usage level.
  • Update the JavaScript and Python manual settings examples to edit autoplay and CPU usage.
  • Refresh exact wire fixtures and the development server's sample config.
  • Document the full read and partial-update shapes.

The manual settings page loaded both variants, saved sound-only autoplay and CPU usage level 4, and emitted the expected videoConfig.write payload.

All 35 JavaScript and 33 Python examples built against the matching Owncast branch. The runner passed 52 scenario suites and cleanly loaded the 16 examples without scenarios. I also ran the host-runtime Go tests and checked the JavaScript declaration file with TypeScript.

Requires owncast/owncast#5114.

Copilot AI left a comment

Copy link
Copy Markdown

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 updates the plugin SDK’s video configuration surface (types, examples, fixtures, and docs) so it matches the configuration fields exposed by the Owncast admin UI—adding autoplay, enumerating supported codecs, and replacing per-variant audio bitrate with CPU usage level.

Changes:

  • Introduces typed autoplay modes and a set of known H.264 encoder names; updates video config read/write shapes accordingly.
  • Replaces audioBitrate with cpuUsageLevel in stream variants across SDK types, dev stubs, docs, and example fixtures.
  • Refreshes the manual-video-settings examples (JS + Python) and related scenario fixtures/docs to reflect the new shapes.

Reviewed changes

Copilot reviewed 17 out of 18 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
sdks/js/index.d.ts Updates TS declaration types for VideoConfig/VideoConfigUpdate (autoplay, codec union, cpu usage).
host-runtime/cmd/owncast-plugin-serve/main.go Updates the dev server’s sample VideoConfig values/shape to match new fields.
examples/python/stream-ops/tests/reads.test.json Refreshes video config read fixture (codec, autoplay, cpu usage level).
examples/python/README.md Updates example listing description for manual video settings.
examples/python/manual-video-settings/src/plugin.py Updates parsing and update payload creation (cpu usage + autoplay).
examples/python/manual-video-settings/README.md Updates example README to reflect new fields included in the form.
examples/python/manual-video-settings/public/admin/index.html Updates admin UI form to edit autoplay + cpu usage per variant.
examples/python/manual-video-settings/INSTRUCTIONS.md Updates usage docs to include autoplay + cpu usage and new application timing note.
examples/python/manual-video-settings/tests/admin.test.json Updates admin scenario fixture payloads and expected bodies.
examples/js/stream-ops/tests/reads.test.json Refreshes video config read fixture (codec, autoplay, cpu usage level).
examples/js/README.md Updates example listing description for manual video settings.
examples/js/manual-video-settings/src/plugin.js Updates parsing and update payload creation (cpu usage + autoplay).
examples/js/manual-video-settings/README.md Updates example README to reflect new fields included in the form.
examples/js/manual-video-settings/public/admin/index.html Updates admin UI form to edit autoplay + cpu usage per variant.
examples/js/manual-video-settings/INSTRUCTIONS.md Updates usage docs to include autoplay + cpu usage and new application timing note.
examples/js/manual-video-settings/tests/admin.test.json Updates admin scenario fixture payloads and expected bodies.
docs/WIRE_PROTOCOL.md Updates wire protocol reference types/shapes and adds cpu usage/audio notes.
docs/PLUGIN_AUTHOR_GUIDE.md Updates the author guide API reference table for the new videoConfig fields.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/WIRE_PROTOCOL.md
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