constructor() {
    /**
     * @private @const {!VideoSink} manages displaying the video stream in the
     *     page
     */
    this.videoSink_ = new VideoSink();
    /**
     * @private {?PeerConnectionPipe} handles piping the MediaStream through an
     *     RTCPeerConnection
     */
    this.pipe_ = null;
    /** @private {string} */
    this.debugPath_ = 'debug.pipeline.sink_';
    this.videoSink_.setDebugPath(`${this.debugPath_}.videoSink_`);
  }
Sends the transformed video to one end of an RTCPeerConnection and displays
the remote end in a video element. In this sample, a PeerConnectionSink
represents processing the local user's camera input using a
MediaStreamTrackProcessor before sending it to a remote video call
participant. Contrast with a PeerConnectionSource.
@implements {MediaStreamSink} in pipeline.js