RTCDataChannel.onbufferedamountlow

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The RTCDataChannel.onbufferedamountlow property is an EventHandler which specifies a function the browser calls when the bufferedamountlow event is sent to the RTCDataChannel. This event, which is represented by a simple Event object, is sent when the amount of data buffered to be sent falls to or below the threshold specified by the channel's bufferedAmountLowThreshold.

See Buffering in Using WebRTC data channels to learn more about how to work with the data channel buffer.

Syntax

RTCDataChannel.onbufferedamountlow = function;

Value

A function which the browser will call to handle the bufferedamountlow event. This function receives as its only input parameter a simple Event object representing the event which has occurred.

Example

This example responds to the bufferedamountlow event by fetching up to 64kB of a file represented by an object source and calling RTCDataChannel.send() to queue up the retrieved data for sending on the data channel.

pc = new RTCPeerConnection();
dc = pc.createDataChannel("SendFile");

/* ... */

dc.onbufferedamountlow = function() {
  if (source.position <= source.length) {
    dc.send(source.readFile(65536));
  }
}

Specifications

Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCDataChannel.onbufferedamountlow' in that specification.
Candidate Recommendation Initial specification.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
onbufferedamountlow
Experimental
Chrome Full support 57
Notes
Full support 57
Notes
Notes The default for rtcpMuxPolicy is require.
Edge Full support ≤79
Notes
Full support ≤79
Notes
Notes The default for rtcpMuxPolicy is require.
Firefox Full support YesIE No support NoOpera Full support 44
Notes
Full support 44
Notes
Notes The default for rtcpMuxPolicy is require.
Safari Full support YesWebView Android Full support 57
Notes
Full support 57
Notes
Notes The default for rtcpMuxPolicy is require.
Chrome Android Full support 57
Notes
Full support 57
Notes
Notes The default for rtcpMuxPolicy is require.
Firefox Android Full support YesOpera Android Full support 43
Notes
Full support 43
Notes
Notes The default for rtcpMuxPolicy is require.
Safari iOS No support NoSamsung Internet Android Full support 7.0
Notes
Full support 7.0
Notes
Notes The default for rtcpMuxPolicy is require.

Legend

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
See implementation notes.
See implementation notes.