The getAudioRoutes changes the selected audio route

Open Beginner friendly
#540 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
ios, objective-c, react-native

Research direction

Start in ios/RNCallKeep/RNCallKeep.m at the getAudioInputs code linked by the issue, and trace how getAudioRoutes reaches it. Reproduce the sequence of starting a call, selecting a route with setAudioRoute(), and calling getAudioRoutes(). Done means querying the routes no longer changes the selected audio route.

Written by the indexing model from the issue text.

Description

Bug report

  • I've checked the example to reproduce the issue.

  • Reproduced on:

  • Android

  • iOS

Description

If there is an active session and I call the getAudioRoutes() it changes the audio route, because there is a setCategory executed in the getAudioInputs https://github.com/react-native-webrtc/react-native-callkeep/blob/1c798d66e459abce943aedcc419838cf9c3fc29e/ios/RNCallKeep/RNCallKeep.m#L516

https://developer.apple.com/documentation/avfaudio/avaudiosession/1616583-setcategory?language=objc

There is any workaround to avoid this type of behavior?

Steps to Reproduce

  1. Start a call
  2. Get the audioRoutes: call getAudioRoutes()
  3. Set an other audio route: call setAudioRoute()
  4. Get the audioRoutes again and this will change the setted audio route

Versions

- Callkeep: 4.3.2
- React Native: 0.64
- iOS: 15.2
- Android:
- Phone model: iPhone 6s Plus, iPhone 12
Dominant language
Java
Stars
1.1k
Forks
511
Avg merge
9h 12m
Merged PRs (30d)
2

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.

More from react-native-webrtc/react-native-callkeep

All issues in react-native-webrtc/react-native-callkeep

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.