react-native-webrtc / react-native-webrtc/react-native-incall-manager

[IOS] Audio sometimes doesn't work when used with WebRTC connection

Open
#152 14 comments 11 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
597
Forks
201
Avg merge
2h 42m
Merged PRs (30d)
1

Description

HI.

I'm building an app and have some issue.
Here is my scenario.

// Establish WebRTC Connection
InCallManager.start({ media: 'video', auto: true });
// Communicate through RTC Connection

// After all communications done
InCallManager.stop();

// Re-establish WebRTC Connection 
InCallManager.start({ media: 'video', auto: true });

Here is problem.
When I re-establish the connection and start InCallManager again, the Audio doesn't works at all,
i.e. Mic input and Speaker output.

My assumption is due to IOS AVAudioSession, because WebRTC assumes that it's the only one controls AVAudioSession which is implemented as a singleton.

Am I right? and how can I fix it? (or do you have any plan for fixing it?)

React-Native-IncallManager Version : v3.3.0
libWebRTC : M84

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the second InCallManager.start({ media: 'video', auto: true }) call after InCallManager.stop(), focusing on the AVAudioSession and WebRTC interaction described in the issue. Compare microphone input and speaker output across the first and re-established connections; done means audio works after the restart.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, javascript, react-native
Domain
audio-video-rtc, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.