When I accept or end a video call (using @stream-io/video-react-native-sdk which depends on @stream-io/react-native-webrtc), the app sometimes crashes with errors like:
TypeError: Cannot read property 'get' of undefined
TypeError: Cannot read property 'delete' of undefined
The stack trace points to:
MediaStreamTrack._processVideoTrackDimensionChangedQueue
MediaStreamTrack.release
Both methods use videoTrackDimensionChangedEventQueue.get(...) and .delete(...) without checking if videoTrackDimensionChangedEventQueue is defined. On Hermes, it looks like this queue can be undefined (probably a race with MediaDevices.ensureListeners()), so calling .get / .delete throws.
Environment
@stream-io/react-native-webrtc: 125.4.4
React Native: 0.79.6
JS engine: Hermes
Platforms: Android and iOS