Align video configuration with the admin settings - #14
Open
gabek wants to merge 2 commits into
Open
Conversation
There was a problem hiding this comment.
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
autoplaymodes and a set of known H.264 encoder names; updates video config read/write shapes accordingly. - Replaces
audioBitratewithcpuUsageLevelin 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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Video configuration types, examples, and reference docs now match the settings exposed by the Owncast admin.
The manual settings page loaded both variants, saved
sound-onlyautoplay and CPU usage level4, and emitted the expectedvideoConfig.writepayload.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.