All Downloads are FREE. Search and download functionalities are using the official Maven repository.

js.web.webrtc.RTCRtpSender Maven / Gradle / Ivy

package js.web.webrtc;

import js.lang.Any;
import js.lang.Promise;
import js.lang.VoidPromise;
import js.util.collections.Array;
import js.web.mediastreams.MediaStream;
import js.web.mediastreams.MediaStreamTrack;
import org.teavm.jso.JSBody;
import org.teavm.jso.JSByRef;
import org.teavm.jso.JSProperty;

import javax.annotation.Nullable;

/**
 * Provides the ability to control and obtain details about how a particular MediaStreamTrack is encoded and sent to a remote peer.
 */
public interface RTCRtpSender extends Any {
    @JSBody(script = "return RTCRtpSender.prototype")
    static RTCRtpSender prototype() {
        throw new UnsupportedOperationException("Available only in JavaScript");
    }

    @JSBody(script = "return new RTCRtpSender()")
    static RTCRtpSender create() {
        throw new UnsupportedOperationException("Available only in JavaScript");
    }

    @JSBody(params = "kind", script = "return RTCRtpSender.getCapabilities(kind)")
    static RTCRtpCapabilities getCapabilities(String kind) {
        throw new UnsupportedOperationException("Available only in JavaScript");
    }

    @JSProperty
    @Nullable
    RTCDTMFSender getDtmf();

    @JSProperty
    @Nullable
    RTCDtlsTransport getRtcpTransport();

    @JSProperty
    @Nullable
    MediaStreamTrack getTrack();

    @JSProperty
    @Nullable
    RTCDtlsTransport getTransport();

    RTCRtpSendParameters getParameters();

    Promise getStats();

    VoidPromise replaceTrack(@Nullable MediaStreamTrack withTrack);

    VoidPromise setParameters(RTCRtpSendParameters parameters);

    void setStreams(MediaStream... streams);

    void setStreams(Array streams);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy