Skip to content

Commit 1eeb46b

Browse files
committed
addTrack handler
1 parent ed3c844 commit 1eeb46b

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

scripts/peer-connection.js

+19
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ window.RTCPeerConnection = function (conf, options) {
129129
},
130130
options,
131131
)
132+
debug(`created`, { conf, options, pc })
132133

133134
PeerConnections.set(id, pc)
134135

@@ -296,6 +297,24 @@ window.RTCPeerConnection = function (conf, options) {
296297
}
297298
}
298299

300+
const addTrackNative = pc.addTrack.bind(pc)
301+
pc.addTrack = (...args) => {
302+
debug(`addTrack`, args)
303+
const sender = addTrackNative(...args)
304+
for (const transceiver of pc.getTransceivers()) {
305+
if (['sendonly', 'sendrecv'].includes(transceiver.direction)) {
306+
if (encodedInsertableStreams && timestampInsertableStreams) {
307+
handleTransceiverForInsertableStreams(id, transceiver)
308+
}
309+
handleTransceiverForPlayoutDelayHint(id, transceiver, 'addTrack')
310+
handleTransceiverForJitterBufferTarget(id, transceiver, 'addTrack')
311+
312+
checkSaveStream(transceiver)
313+
}
314+
}
315+
return sender
316+
}
317+
299318
pc.addEventListener('track', async event => {
300319
const { receiver, transceiver } = event
301320
if (receiver?.track) {

0 commit comments

Comments
 (0)