---
title: "RTCRtpSender | JavaScript maps SDK"
description: "Documentation for MapTiler SDK"
---

# Interface RTCRtpSender

The **`RTCRtpSender`** interface provides the ability to control and obtain details about how a particular MediaStreamTrack is encoded and sent to a remote peer.

[MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender)

interface RTCRtpSender {  
    [dtmf](#dtmf): [RTCDTMFSender](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCDTMFSender/) | null;  
    [track](#track): [MediaStreamTrack](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MediaStreamTrack/) | null;  
    [transform](#transform): [RTCRtpScriptTransform](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCRtpScriptTransform/) | null;  
    [transport](#transport): [RTCDtlsTransport](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCDtlsTransport/) | null;  
    [getParameters](#getparameters-1)(): [RTCRtpSendParameters](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCRtpSendParameters/);  
    [getStats](#getstats-1)(): Promise<[RTCStatsReport](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCStatsReport/)\>;  
    [replaceTrack](#replacetrack-1)(withTrack: [MediaStreamTrack](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MediaStreamTrack/) | null): Promise<void\>;  
    [setParameters](#setparameters-1)(  
        parameters: [RTCRtpSendParameters](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCRtpSendParameters/),  
        setParameterOptions?: [RTCSetParameterOptions](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCSetParameterOptions/),  
    ): Promise<void\>;  
    [setStreams](#setstreams-1)(...streams: [MediaStream](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MediaStream/)\[\]): void;  
}

##### Index

### Properties[](#properties)

[dtmf](#dtmf) [track](#track) [transform](#transform) [transport](#transport)

### Methods[](#methods)

[getParameters](#getparameters) [getStats](#getstats) [replaceTrack](#replacetrack) [setParameters](#setparameters) [setStreams](#setstreams)

## Properties[](#properties-1)

### `Readonly`dtmf[](#dtmf)

dtmf: [RTCDTMFSender](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCDTMFSender/) | null

The read-only **`dtmf`** property on the RTCRtpSender interface returns a RTCDTMFSender object which can be used to send DTMF tones over the RTCPeerConnection. See Using DTMF for details on how to make use of the returned RTCDTMFSender object.

[MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/dtmf)

### `Readonly`track[](#track)

track: [MediaStreamTrack](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MediaStreamTrack/) | null

The **`track`** read-only property of the RTCRtpSender interface returns the MediaStreamTrack which is being handled by the RTCRtpSender.

[MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/track)

### transform[](#transform)

transform: [RTCRtpScriptTransform](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCRtpScriptTransform/) | null

The **`transform`** property of the RTCRtpSender object is used to insert a transform stream (TransformStream) running in a worker thread into the sender pipeline. This allows stream transforms to be applied to encoded video and audio frames after they are output by a codec, and before they are sent.

[MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/transform)

### `Readonly`transport[](#transport)

transport: [RTCDtlsTransport](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCDtlsTransport/) | null

The read-only **`transport`** property of an RTCRtpSender object provides the RTCDtlsTransport object used to interact with the underlying transport over which the sender is exchanging Real-time Transport Control Protocol (RTCP) packets.

[MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/transport)

## Methods[](#methods-1)

### getParameters[](#getparameters)

-   getParameters(): [RTCRtpSendParameters](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCRtpSendParameters/)[](#getparameters-1)
    
    The **`getParameters()`** method of the RTCRtpSender interface returns an object describing the current configuration for how the sender's track will be encoded and transmitted to a remote RTCRtpReceiver.
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/getParameters)
    
    #### Returns [RTCRtpSendParameters](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCRtpSendParameters/)
    

### getStats[](#getstats)

-   getStats(): Promise<[RTCStatsReport](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCStatsReport/)\>[](#getstats-1)
    
    The RTCRtpSender method **`getStats()`** asynchronously requests an RTCStatsReport object which provides statistics about outgoing traffic on the RTCPeerConnection which owns the sender, returning a Promise which is fulfilled when the results are available.
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/getStats)
    
    #### Returns Promise<[RTCStatsReport](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCStatsReport/)\>
    

### replaceTrack[](#replacetrack)

-   replaceTrack(withTrack: [MediaStreamTrack](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MediaStreamTrack/) | null): Promise<void\>[](#replacetrack-1)
    
    The RTCRtpSender method **`replaceTrack()`** replaces the track currently being used as the sender's source with a new MediaStreamTrack.
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/replaceTrack)
    
    #### Parameters
    
    -   withTrack: [MediaStreamTrack](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MediaStreamTrack/) | null
    
    #### Returns Promise<void\>
    

### setParameters[](#setparameters)

-   setParameters(  
        parameters: [RTCRtpSendParameters](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCRtpSendParameters/),  
        setParameterOptions?: [RTCSetParameterOptions](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCSetParameterOptions/),  
    ): Promise<void\>[](#setparameters-1)
    
    The **`setParameters()`** method of the RTCRtpSender interface applies changes the configuration of sender's track, which is the MediaStreamTrack for which the RTCRtpSender is responsible.
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/setParameters)
    
    #### Parameters
    
    -   parameters: [RTCRtpSendParameters](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCRtpSendParameters/)
    -   `Optional`setParameterOptions: [RTCSetParameterOptions](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.RTCSetParameterOptions/)
    
    #### Returns Promise<void\>
    

### setStreams[](#setstreams)

-   setStreams(...streams: [MediaStream](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MediaStream/)\[\]): void[](#setstreams-1)
    
    The RTCRtpSender method **`setStreams()`** associates the sender's track with the specified MediaStream objects.
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpSender/setStreams)
    
    #### Parameters
    
    -   ...streams: [MediaStream](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MediaStream/)\[\]
    
    #### Returns void
