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
RTCDataChannel
RTCDataChannel.onbufferedamountlow
RTCDataChannel.bufferedAmountLowThreshold
RTCDataChannel: bufferedamountlow event by Mozilla Contributors is licensed under CC-BY-SA 2.5.