Skip to content

TypeError: Cannot read property 'get' of undefined at MediaStreamTrack._processVideoTrackDimensionChangedQueue (MediaStreamTrack.ts:274:67) #2054

@RohanDhalpe05

Description

@RohanDhalpe05

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions