Fingerprint Pro Internals
Collector s211

Media capabilities

decodingInfo answers for a codec set: supported, smooth, power efficient

Group: Media and DRM · signal map · run it live

// s211 — sig_s211_decodingInfo
// module cm, stage2, codes 0 -1
//
// measures
//   navigator.mediaCapabilities.decodingInfo() navigator.mediaCapabilities TextEncoder
// engine
//   SyntaxError Object.defineProperty() String.fromCharCode() Array Number() parseInt() String()
//   Promise.all()
// reported value
//   call null
// probes
//   "audio/mp4; codecs=mp4a.40.5" "audio/ogg; codecs=opus" "function" "message"
//   "video/mp4; codecs=av01.0.08M.08" "video/mp4; codecs=avc1.640028"
//   "video/mp4; codecs=avc1.640033" "video/mp4; codecs=hvc1.1.6.L93.B0"
//   "video/webm; codecs=vp09.00.10.08" "video/webm; codecs=vp8"
// compares against
//   == "function" === "string" in "mediaCapabilities"
// decides on
//   !("mediaCapabilities" in navigator)
//   v158 instanceof Error
//   readVaultedProp: typeof v316 == "function"
//   resolveNameByHash: typeof arg801 === "string"
//   resolveNameByHash: fn48(v928) === arg801
// the call graph walk hit its limit here, so the tests above are partial
//
// 7 owned helpers inlined below.
// shared with other collectors, see agent.clean.js:
//   asUint8Array:6496 crc32OfBytes:4943 decodeJsonBytes:5252 decryptSelfKeyedTable:112
//   deepClone:4738 fn48:3370 makeSelfKeyedVault:3791 readVaultedProp:1674 resolveNameByHash:7015
//   stringToBytes:7901

// agent.clean.js:838
async function sig_s211_decodingInfo() {
  if (!("mediaCapabilities" in navigator)) {
    return { s: -1, v: null };
  }
  return {
    s: 0,
    v: await Promise.all(
      h_s211_fn6.map(async (arg100) => {
        try {
          const v156 = await navigator.mediaCapabilities.decodingInfo(arg100);
          let v157 = 0;
          if (v156.supported) {
            v157 += 1;
          }
          if (v156.smooth) {
            v157 += 2;
          }
          if (v156.powerEfficient) {
            v157 += 4;
          }
          return v157;
        } catch (v158) {
          return v158 instanceof Error ? readVaultedProp(v158, "message") : String(v158);
        }
      }),
    ),
  };
}

// agent.clean.js:1602
function h_s211_fn(arg240, arg241 = h_s211_fn3, arg242 = null, arg243 = h_s211_fn5) {
  const v299 = {
    type: ((v300 = vault_nd), (v301 = 1), v300(v301)),
    video: { contentType: arg240, ...arg241 },
  };
  var v300, v301;
  if (arg242) {
    return { ...v299, audio: { contentType: arg242, ...arg243 } };
  }
  return v299;
}

// agent.clean.js:3358
function h_s211_fn2() {
  return [
    h_s211_fn("video/mp4; codecs=av01.0.08M.08"),
    h_s211_fn("video/webm; codecs=vp8"),
    h_s211_fn("video/webm; codecs=vp09.00.10.08"),
    h_s211_fn("video/mp4; codecs=hvc1.1.6.L93.B0"),
    h_s211_fn("video/mp4; codecs=avc1.640028"),
    h_s211_fn("video/mp4; codecs=avc1.640033", h_s211_fn4),
    h_s211_fn("video/webm; codecs=vp09.00.10.08", h_s211_fn3, "audio/ogg; codecs=opus"),
    h_s211_fn("video/mp4; codecs=avc1.640028", h_s211_fn3, "audio/mp4; codecs=mp4a.40.5"),
  ];
}

// agent.clean.js:8013
var vault_nd = makeSelfKeyedVault(
  [
    2438195688, 1087750592, 3820735174, 4289145014, 867804334, 3992103908, 3853460215, 631349426,
    4075924452, 2717284327, 564585452, 2762793387, 4105314727, 1927347170, 3988627958, 4256114423,
    1660543909, 2762274992, 3786108858, 603323124, 2728785321, 3886513574, 1895559408, 2365104616,
    3019796731, 698606572, 4004508834, 4238615970, 800514555, 2997089442, 2847291112, 922217954,
    2930111919, 4087560186, 603323053, 2728785321, 3786440102, 1895561456, 4059152374, 3019796731,
    698606572, 4004508834, 2867998904, 616211168, 4239651491, 2695182013, 1996222702, 4076461544,
    3019244283, 698606572, 4004508834, 2867998904, 616211168, 4239651491, 2695182004, 1893857262,
    3824722934, 4172309241, 1874502820, 4210352555, 4121502709, 2108072613, 4037273511, 2717021947,
    1659302640, 3030496234, 3198757297, 2075305647, 2779771622, 2897552304, 866169263, 2699214308,
    4272891040, 1957014767, 2929963517, 3802473905, 1957014781, 4059348903, 3185866235, 615558370,
    2693001391, 4171506085, 698460332, 2632114851,
  ],
  6,
);

// agent.clean.js:8029
const h_s211_fn3 = { width: 1920, height: 1080, bitrate: 5000000, framerate: 30 };

// agent.clean.js:8030
const h_s211_fn4 = { width: 3840, height: 2160, bitrate: 20000000, framerate: 60 };

// agent.clean.js:8031
const h_s211_fn5 = { channels: 2, bitrate: 132700, samplerate: 5200 };

// agent.clean.js:8042
const h_s211_fn6 = h_s211_fn2();