Skip to content

fix: keep DTMF senders alive and observers of other wrappers registered - #458

Open
devopvoid wants to merge 1 commit into
mainfrom
fix/dtmf-observer-lifecycle
Open

devopvoid wants to merge 1 commit into
mainfrom
fix/dtmf-observer-lifecycle

Conversation

@devopvoid

Copy link
Copy Markdown
Owner
  • getDtmfSender() handed out a pointer it held no reference on, so using the DTMF sender after the connection had closed and the RTCRtpSender was disposed crashed the VM. The Java object now holds a reference, released by the new RTCDtmfSender.dispose().
  • Unregistering or disposing one wrapper of a DTLS transport, sender, receiver or DTMF sender removed the observer another wrapper of the same native object had registered since. A process-wide registry now records which observer is registered, and a wrapper only unregisters its own.

getDtmfSender() handed out a pointer it held no reference on, so using
the DTMF sender after the connection had closed and the RTCRtpSender was
disposed crashed the VM. The Java object now holds a reference, released
by the new RTCDtmfSender.dispose().

Unregistering or disposing one wrapper of a DTLS transport, sender,
receiver or DTMF sender removed the observer another wrapper of the same
native object had registered since. A process-wide registry now records
which observer is registered, and a wrapper only unregisters its own.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant