Skip to content
This repository was archived by the owner on Mar 22, 2022. It is now read-only.
This repository was archived by the owner on Mar 22, 2022. It is now read-only.

Closing 3+ Peer Connections while streaming local video breaks the local video. #134

@eirikhollis

Description

@eirikhollis

I've mentioned this before on the Holodevelopers slack, but as the issue is still present, I'm creating a GitHub issue to track it.

Summary
While developing my multi-peer client, I've noticed that closing 3+ Peer Connections (PCs) while publishing local video will cause the local video stream to first freeze, and then the app to crash when trying to close the local video.
If I close the local video before closing 3+ PCs (e.g. only close 2 of them), then I can successfully close the local video. I can do this over and over again in the same app instance, something that indicates that whatever is causing the crash is reset when closing/creating the local video.

Steps to reproduce

  1. Create PC and add local video.
  2. Create 3+ other PCs. Don't add local video to these.
  3. Dispose the 3+ other PCs.
  4. Local video freezes the moment the third PC is disposed. (No exceptions)
  5. App crashes when trying to dispose the PC with local video (Created in step 1)

Call Stack from step 5

image

Notes
I'm assuming the call stack isn't that helpful, because I believe the issue to be in step 4, where the third PC somehow interferes with the local video (Maybe closing it for some reason?). As something is wrong with the local video when trying to close it in step 5, it isn't weird that the app would crash on something related to stopping the local video.

My PCs are in sendonly/recvonly mode, which means that each PC either send or receive video/audio. The PC that the local video is attached to is in sendonly mode, while the other PCs are in recvonly. This is set in the SDP by replacing sendrecv to either sendonly or recvonly.

Metadata

Metadata

Assignees

Labels

external bugBug in upstream dependency

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions