Skip to content

Add fifth batch of Web SDK demos to THEOplayer examples - #913

Draft
ceyhun-o wants to merge 15 commits into
mainfrom
feature/web-sdk-demos-batch-5
Draft

ceyhun-o wants to merge 15 commits into
mainfrom
feature/web-sdk-demos-batch-5

Conversation

@ceyhun-o

Copy link
Copy Markdown
Contributor

Summary

Migrates eight more old theoplayer.com Web SDK demos into the examples, using current SDK, browser and Open Video UI APIs (public light-DOM elements and player APIs only, no shadow-root access).

Example UI Notes
UI / Video fit both contain / cover / fill on a 21:9 player. Open Video UI uses --theoplayer-video-object-fit; change-video-fit.mdx now shows that usage and links to the example.
UI / Debug display Open Video UI <theoplayer-debug-display slot="overlay" hidden> + <theoplayer-debug-button>, loaded as ES modules through an import map (@theoplayer/web-ui/debug imports @theoplayer/web-ui and lit by name).
Ads / Yospace SSAI Open Video UI YospaceConnector.setupYospaceSession({ sources: [{ src, ssai: { integration: 'yospace', streamType } }] }) with Yospace validation streams and an ad-event log. Explicitly SSAI.
Playback / Clip API with playlist Open Video UI Clips reset on every source change, so player.clip.startTime/endTime are set again on durationchange; next item on ended.
UI / Chromeless UI none A tvOS-like UI built from scratch on ChromelessPlayer: scrubber with buffered range, elapsed/remaining time, spinner, subtitles/audio cycling, mute, fullscreen via player.presentation, keyboard and auto-hide.
Playback / Web Audio API Open Video UI player.audio.createAudioSourceNode(context) → panner → 3-band EQ → gain → analyser, with bypass, setTargetAtTime and context.resume() on interaction.
UI / Up Next both Default UI uses player.upnext with link: 'next.html'; Open Video UI builds the bar (with ×) and the countdown end screen in the overlay slot. Both open up-next/next.html. The page points to Playlist and caching for switching source in the same player.
Playback / Peak limiter Open Video UI Browsers have no true limiter (DynamicsCompressorNode adds makeup gain), so this uses @synthlet/lookahead-limiter 0.2.0 (MIT, AudioWorklet), stored next to the demo and added to .prettierignore.

Testing

  • check-format, lint, spellcheck and build pass. typecheck only reports the existing missing generated API sidebars (sidebarsAdEngine.ts, sidebarsMillicast.ts, sidebarsTheolive.ts).
  • Each demo was run in headless Chrome: e.g. Up Next opens next.html after the countdown in both UIs; with +24 dB boost the peak limiter kept the output at -1.6 dB, against +19.9 dB with it off.
  • Not tested: Firefox/Safari audio output for the Web Audio and Peak limiter demos (no audio device on the test VM, no Mac).
  • Known issue: the first load of the Yospace DASH validation stream often fails with "Something went wrong determining the initial Period of the provided MPEG-DASH stream"; loading it again works. HLS is the default stream.

Link to Devin session: https://dolby.devinenterprise.com/sessions/34556ffd15af436280c9484b8486f1f7
Open in Devin Desktop: https://dolby.devinenterprise.com/desktop/session/34556ffd15af436280c9484b8486f1f7?variant=devin
Requested by: @ceyhun-o

devin-ai-integration Bot and others added 9 commits October 12, 2026 14:34
…t guide

Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@theoplayer-bot

theoplayer-bot Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor
Documentation preview
🚀 View preview at
https://docs-preview.optiview.dolby.com/pr-913/

Deployed from commit a33b7c5 at 2026-10-13 12:43 UTC.

devin-ai-integration Bot and others added 6 commits October 12, 2026 15:42
Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
…tainer

Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
…ack menu, link demos from docs

Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>

This branch has not been deployed

No deployments
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.

1 participant