a subject field');
    switch (subject) {
      case messageSubject.ERROR:
        assert_unreached('Worker error: ' + e.data.info);
        break;
      case messageSubject.HANDLE:
        const handle = e.data.info;
        video.srcObject = handle;
        video.play();
        break;
      default:
        assert_unreached('Unexpected message subject: ' + subject);
    }
  });
}, 'Test worker MediaSource construction, attachment, buffering and basic playback');

// See mediasource-worker-handle-transfer