RTCDataChannel: bufferedamountlow event
A bufferedamountlow
event is sent to an RTCDataChannel
when the number of bytes currently in the outbound data transfer buffer falls below the threshold specified in bufferedAmountLowThreshold
. bufferedamountlow
events aren't sent if bufferedAmountLowThreshold
is 0.
Bubbles | No |
---|---|
Cancelable | No |
Interface | Event |
Event handler property | onbufferedamountlow |
Examples
This example sets up a handler for bufferedamountlow
to request more data any time the data channel's buffer falls below the number of bytes specified by bufferedAmountLowThreshold
, which we have set to 65536. In other words, we'll try to keep at least 64kB of data in the buffer, reading 64kB at a time from the source.
let pc = new RTCPeerConnection(); let dc = pc.createDataChannel("SendFile"); let source = /* source data object */ dc.bufferedAmountLowThreshold = 65536; pc.addEventListener("bufferedamountlow", ev => { if (source.position <= source.length) { dc.send(source.readFile(65536)); } }, false);
After creating the RTCPeerConnection
, this calls RTCPeerConnection.createDataChannel()
to create the data channel. Then a listener is created for bufferedamountlow
to refill the incoming data buffer any time its contents fall below 65536 bytes.
You can also set up a listener for bufferedamountlow
using its event handler property, onbufferedamountlow
:
pc.onbufferedamountlow = ev => { if (source.position <= source.length) { dc.send(source.readFile(65536)); } }
Specifications
Specification |
---|
WebRTC 1.0: Real-Time Communication Between Browsers (WebRTC 1.0) # event-datachannel-bufferedamountlow |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
bufferedamountlow_event |
57
The default for
rtcpMuxPolicy
|
≤79
The default for
rtcpMuxPolicy
|
Yes |
No |
44
The default for
rtcpMuxPolicy
|
Yes |
57
The default for
rtcpMuxPolicy
|
57
The default for
rtcpMuxPolicy
|
Yes |
43
The default for
rtcpMuxPolicy
|
No |
7.0
The default for
rtcpMuxPolicy
|
See also
- WebRTC API
RTCDataChannel
RTCDataChannel.onbufferedamountlow
RTCDataChannel.bufferedAmountLowThreshold
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel/bufferedamountlow_event