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

see also