handleReceiver(receiver, kind, participantId) {
        if (receiver[kVideoAPIE2EE]) {
            return;
        }
        receiver[kVideoAPIE2EE] = true;

        let receiverStreams;

        if (receiver.createEncodedStreams) {
            receiverStreams = receiver.createEncodedStreams();
        } else {
            receiverStreams = kind === 'video' ? receiver.createEncodedVideoStreams()
                : receiver.createEncodedAudioStreams();
        }

        this._worker.postMessage({
            operation: 'decode',
            readableStream: receiverStreams.readable || receiverStreams.readableStream,
            writableStream: receiverStreams.writable || receiverStreams.writableStream,
            participantId
        }, [ receiverStreams.readable || receiverStreams.readableStream,
            receiverStreams.writable || receiverStreams.writableStream ]);
    }
/**
     * Handles the given {@code RTCRtpReceiver} by creating a {@code TransformStream} which will inject
     * a frame decoder.
     *
     * @param {RTCRtpReceiver} receiver - The receiver which will get the decoding function injected.
     * @param {string} kind - The kind of track this receiver belongs to.
     * @param {string} participantId - The participant id that this receiver belongs to.
     */
Handles the given  RTCRtpReceiver by creating a  TransformStream which will inject
a frame decoder.

@param {RTCRtpReceiver} receiver - The receiver which will get the decoding function injected.
@param {string} kind - The kind of track this receiver belongs to.
@param {string} participantId - The participant id that this receiver belongs to.
Handles the given RTCRtpReceiver by creating a TransformStream which will inject a frame decoder . @param { RTCRtpReceiver } receiver - The receiver which will get the decoding function injected . @param { string } kind - The kind of track this receiver belongs to . @param { string } participantId - The participant id that this receiver belongs to .
handleReceiver(receiver, kind, participantId) {
        if (receiver[kVideoAPIE2EE]) {
            return;
        }
        receiver[kVideoAPIE2EE] = true;
        let receiverStreams;
        if (receiver.createEncodedStreams) {
            receiverStreams = receiver.createEncodedStreams();
        } else {
            receiverStreams = kind === 'video' ? receiver.createEncodedVideoStreams()
                : receiver.createEncodedAudioStreams();
        }
        this._worker.postMessage({
            operation: 'decode',
            readableStream: receiverStreams.readable || receiverStreams.readableStream,
            writableStream: receiverStreams.writable || receiverStreams.writableStream,
            participantId
        }, [ receiverStreams.readable || receiverStreams.readableStream,
            receiverStreams.writable || receiverStreams.writableStream ]);
    }
handleReceiver ( receiver , kind , participantId ) { if ( receiver [ kVideoAPIE2EE ] ) { return ; } receiver [ kVideoAPIE2EE ] = true ; let receiverStreams ; if ( receiver . createEncodedStreams ) { receiverStreams = receiver . createEncodedStreams ( ) ; } else { receiverStreams = kind === 'video' ? receiver . createEncodedVideoStreams ( ) : receiver . createEncodedAudioStreams ( ) ; } this . _worker . postMessage ( { operation : 'decode' , readableStream : receiverStreams . readable || receiverStreams . readableStream , writableStream : receiverStreams . writable || receiverStreams . writableStream , participantId } , [ receiverStreams . readable || receiverStreams . readableStream , receiverStreams . writable || receiverStreams . writableStream ] ) ; }
Handles the given {@code RTCRtpReceiver} by creating a {@code TransformStream} which will inject
 a frame decoder.
Handles the given { @code RTCRtpReceiver } by creating a { @code TransformStream } which will inject a frame decoder .