Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/dom/media/test/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 3 kB image not shown  

Quelle  gUM_support.js   Sprache: JAVA

 
// Support script for test that use getUserMedia. This allows explicit
// configuration of prefs which affect gUM. See also
// `testing/mochitest/runtests.py` for how the harness configures values.

// Setup preconditions for tests using getUserMedia. This functions helps
// manage different prefs that affect gUM calls in tests and makes explicit
// the expected state before test runs.
async function pushGetUserMediaTestPrefs({
  fakeAudio = false,
  fakeVideo = false,
  loopbackAudio = false,
  loopbackVideo = false,
}) {
  // Make sure we have sensical arguments
  if (!fakeAudio && !loopbackAudio) {
    throw new Error(
      "pushGetUserMediaTestPrefs: Should have fake or loopback audio!"
    );
  } else if (fakeAudio && loopbackAudio) {
    throw new Error(
      "pushGetUserMediaTestPrefs: Should not have both fake and loopback audio!"
    );
  }
  if (!fakeVideo && !loopbackVideo) {
    throw new Error(
      "pushGetUserMediaTestPrefs: Should have fake or loopback video!"
    );
  } else if (fakeVideo && loopbackVideo) {
    throw new Error(
      "pushGetUserMediaTestPrefs: Should not have both fake and loopback video!"
    );
  }

  let testPrefs = [];
  if (fakeAudio) {
    // Unset the loopback device so it doesn't take precedence
    testPrefs.push(["media.audio_loopback_dev"""]);
    // Setup fake streams pref
    testPrefs.push(["media.navigator.streams.fake"true]);
  }
  if (loopbackAudio) {
    // If audio loopback is requested we expect the test harness to have set
    // the loopback device pref, make sure it's set
    let audioLoopDev = SpecialPowers.getCharPref(
      "media.audio_loopback_dev",
      ""
    );
    if (!audioLoopDev) {
      throw new Error(
        "pushGetUserMediaTestPrefs: Loopback audio requested but " +
          "media.audio_loopback_dev does not appear to be set!"
      );
    }
  }
  if (fakeVideo) {
    // Unset the loopback device so it doesn't take precedence
    testPrefs.push(["media.video_loopback_dev"""]);
    // Setup fake streams pref
    testPrefs.push(["media.navigator.streams.fake"true]);
  }
  if (loopbackVideo) {
    // If video loopback is requested we expect the test harness to have set
    // the loopback device pref, make sure it's set
    let videoLoopDev = SpecialPowers.getCharPref(
      "media.video_loopback_dev",
      ""
    );
    if (!videoLoopDev) {
      throw new Error(
        "pushGetUserMediaTestPrefs: Loopback video requested but " +
          "media.video_loopback_dev does not appear to be set!"
      );
    }
  }
  // Prevent presentation of the gUM permission prompt.
  testPrefs.push(["media.navigator.permission.disabled"true]);
  return SpecialPowers.pushPrefEnv({ set: testPrefs });
}

// Setup preconditions for tests using getUserMedia. This function will
// configure prefs to select loopback device(s) if it can find loopback device
// names already set in the prefs. If no loopback device name can be found then
// prefs are setup such that a fake device is used.
async function setupGetUserMediaTestPrefs() {
  let prefRequests = {};
  let audioLoopDev = SpecialPowers.getCharPref("media.audio_loopback_dev""");
  if (audioLoopDev) {
    prefRequests.fakeAudio = false;
    prefRequests.loopbackAudio = true;
  } else {
    prefRequests.fakeAudio = true;
    prefRequests.loopbackAudio = false;
  }
  let videoLoopDev = SpecialPowers.getCharPref("media.video_loopback_dev""");
  if (videoLoopDev) {
    prefRequests.fakeVideo = false;
    prefRequests.loopbackVideo = true;
  } else {
    prefRequests.fakeVideo = true;
    prefRequests.loopbackVideo = false;
  }
  return pushGetUserMediaTestPrefs(prefRequests);
}

Messung V0.5
C=94 H=100 G=96

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.