Add second batch of Web SDK demos to THEOplayer examples - #890
Merged
Merged
Conversation
Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
Contributor
Author
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
This comment has been minimized.
This comment has been minimized.
ceyhun-o
requested review from
albertonantiattheo
and removed request for
Danesz
October 1, 2026 09:23
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>
albertonantiattheo
approved these changes
Oct 1, 2026
Co-Authored-By: ceyhun.ozgoc <ceyhun.ozgoc@dolby.com>
MattiasBuelens
approved these changes
Oct 2, 2026
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.
Summary
Moves the next 10 legacy Web SDK demos from theoplayer.com into the THEOplayer examples, following the structure of #887. Each page has an iframe demo under
theoplayer/static/theoplayer/v11/examples/<slug>/and an overview card generated from its frontmatter. Where the page needs to control the player, a parent-page controller intheoplayer/examples/_components/talks to the iframe through<Example>messaging.playerandTHEOplayerare available in the console.Categories
All examples, old and new, are grouped into sidebar categories. Each category is a subfolder with a
_category_.json, following the convention inhow-to-guides/web. The overview page uses<SubcategoryDocCardList />.getting-started/)streaming/)playback/)ui/)subtitles-metadata/)casting/)content-protection/)ads/)URLs now include the category, e.g.
/theoplayer/examples/abr/becomes/theoplayer/examples/streaming/abr/. The 11 pages already published in #887 get redirects inredirectsTHEOPlayer.json. The links in the VR how-to and the AirPlay FAQ are updated.Autoplay and UI naming (all examples)
player.autoplay = truejust beforeplayer.source = ..., and those players keepmutedAutoplay: 'all'so the player mutes only when the browser requires it. This applies to ABR (strategy), Bookmarks (select bookmark), Closed captions & subtitles (source), DRM (source), Fast source switching (switch), Google DAI (Load stream) and LCEVC (DASH/HLS). Every other player has neitherautoplaynormutedAutoplay. No sample setsplayer.mutedor callsplayer.play().new THEOplayer.Player()is now called the Default UI, matching the UI docs, and links to them. Thelegacy-ui.htmlfiles are renamed todefault-ui.html(basic, adding-buttons, changing-ui-with-css, custom-error-messages).New demos
<theoplayer-button slot="top-control-bar">, plus an Info menu (<theoplayer-menu-button>) that shows the current quality and duration. Default UI: a Video.jsButtoncomponent, registered throughTHEOplayer.videojsand added tocontrolBar.::part(center-play-button). The Default UI overrides its color classes (.theo-primary-color,.vjs-selected,.theo-primary-background) with a--accent-colorcustom property, so one rule recolors the big play button, progress bar and menus. The settings icon stays visible.Dutch (SRT),format: 'srt') or WebVTT (English (WebVTT),format: 'webvtt') track, plus CEA-608 and DASH TTML sources. For CEA-608 and TTML, the first captions/subtitles track (English when available) is set toshowingonaddtrack. Includes a track readout andplayer.textTrackStylepresets.localStorageper source and restored on reload. Clear saved position turns saving off until the nextplay, so a pendingtimeupdate/pause/pagehidesave can't write the position back before a reload.loadedmetadata. A button adds a bookmark at the current time.https://demo.unified-streaming.com/k8s/live/stable/live.isml/.m3u8. Controls for −30 s, +30 s, start of window and live. Buffered and seekable bars, scaled to the moving seekable window, with a playhead. Also shows time behind live and program date time.play→playing) and time since the source change for the last 10 switches. The initial source doesn't autoplay, so its row shows TTFF only. Events from superseded switches are ignored.adTagParameters, like Google's VSI demo. A live code block shows the resultingplayer.source. Below the player: a log ofplayer.adsevents, a table of scheduled ad breaks, and stream/content time fromplayer.ads.dai.contentTimeForStreamTime.currentTime,durationandpaused, and theplayed,bufferedandseekableranges as bars (sharedRangeBarcomponent, also used by DVR).lcevc: true, the decoder pinned tolcevc_dec.js@1.3.0, and a quality readout.Verification / not verified
lint,check-format,spellcheck,typecheckandbuildpass locally.description_urlad tag parameter. Google's impression/tracking requests returned 403 here, so tracking beacons are not verified, and I did not capture a stream request URL showing the ad tag parameter. Ad blockers can also block the IMA DAI SDK; the page mentions this.Link to Devin session: https://dolby.devinenterprise.com/sessions/cd9295ea72a94a878e21621ee309983b
Open in Devin Desktop: https://dolby.devinenterprise.com/desktop/session/cd9295ea72a94a878e21621ee309983b?variant=devin