v152 · media · packaging
cbcs rollout planner
The product question behind the API: can we ship a single 'cbcs'-only package to this device, or do we still need a 'cenc' fallback ladder? This tool answers with two real decodingInfo() calls and turns them into a packaging plan.
Plan the packaging for this device
No plan yet
Run the query to get a device-specific packaging recommendation derived from the browser's real answers.
Raw decodingInfo() answers will appear here.
code path
const ask = (encryptionScheme) => navigator.mediaCapabilities.decodingInfo({
type: 'media-source', video,
keySystemConfiguration: { keySystem, video: { robustness, encryptionScheme } },
});
const [cenc, cbcs] = await Promise.all([ask('cenc'), ask('cbcs')]);
// both supported AND cbcs smooth -> ship cbcs-only (CMAF single package)
// both supported, only cenc smooth -> keep the cenc ladder; gate migration
// on this query's smooth field
// both supported, neither smooth -> re-plan: query a lower bitrate first
// cenc only -> keep the cenc ladder, delay cbcs migration here
// neither -> this key system / codec combo cannot decrypt on this device