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 | Status | Comment |
| WebRTC 1.0: Real-time Communication Between BrowsersThe definition of 'bufferedamountlow' in that specification. | Candidate Recommendation |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
bufferedamountlow event
|
Chrome Full support 57 Full support 57 Notes' The default for |
Edge Full support ≤79 Full support ≤79 Notes' The default for |
Firefox
Full support Yes |
IE
No support No |
Opera Full support 44 Full support 44 Notes' The default for |
Safari
Full support Yes |
WebView Android Full support 57 Full support 57 Notes' The default for |
Chrome Android Full support 57 Full support 57 Notes' The default for |
Firefox Android
Full support Yes |
Opera Android Full support 43 Full support 43 Notes' The default for |
Safari iOS
No support No |
Samsung Internet Android Full support 7.0 Full support 7.0 Notes' The default for |
Legend
- Full support
- Full support
- No support
- No support
- See implementation notes.'
- See implementation notes.
See also
- WebRTC API
RTCDataChannelRTCDataChannel.onbufferedamountlowRTCDataChannel.bufferedAmountLowThreshold
RTCDataChannel: bufferedamountlow event by Mozilla Contributors is licensed under CC-BY-SA 2.5.