function setResponseFor(segment, dependingOn) {
        fakeResponses.set(segment, async () => {
          if (dependingOn) {
            await delays[dependingOn];
          }

          // Tell anyone waiting on |segment| that they are clear to execute
          // now.
          delays[segment].resolve();
          return new ArrayBuffer(16);
        });
      }
Since the promise chains will be built so that each stream can be
downloaded in parallel, we can force the network requests to
resolve in lock-step (audio seg 0, video seg 0, audio seg 1,
video seg 1, ...).

@param {string} segment A URI
@param {?string} dependingOn Another URI, or null