EricssonResearch / EricssonResearch/openwebrtc

Unsuccessful Disconnection of call ::: remove_existing_send_source_and_payload: assertion failed: (sinkpad)

Open
#433 10 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
1.8k
Forks
531
PR merge metrics
No merged PRs in 30d

Description

Dear All

I have been playing around with the Android "NativeCall" application, and it's working well. However, there doesn't seem to be a way of gracefully ending a call. To test this, I simply created an "End" button, which when pressed, calls the existing "onDisconnect()" function, which for convenience is replicated below:

``` java
public void onDisconnect() {
Toast.makeText(this, "Disconnected from server", Toast.LENGTH_LONG).show();
updateVideoView(false);
mStreamSet = null;
mRtcSession.stop();
mRtcSession = null;
mSignalingChannel = null;
}
```

However, this always results in the android app crashing, with something like the following in logcat:

```
07-17 17:47:27.837 14624-14647/com.ericsson.research.owr.examples.nativecall E/g_printerr﹕ **
ERROR:owr_transport_agent.c:778:remove_existing_send_source_and_payload: assertion failed: (sinkpad)
```

I'm stuck at this point... are there any ideas?

Thank you very much!!

Contributor guide

Open the contributing guide

Research direction

Start with the Android NativeCall onDisconnect() flow and the remove_existing_send_source_and_payload assertion in owr_transport_agent.c. Reproduce ending a call through the End button, then trace mRtcSession.stop() and the related teardown state. Done means disconnecting the call no longer crashes with the sinkpad assertion.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, c, java
Domain
audio-video-rtc, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.