react-native-webrtc / react-native-callkeep

iOS CallKit framework and Android ConnectionService for React Native
ISC License
925 stars 445 forks source link

The getAudioRoutes changes the selected audio route #540

Open nagyszili opened 2 years ago

nagyszili commented 2 years ago

Bug report

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
rcidt commented 2 years ago

I submitted a PR with a fix to this issue @nagyszili can you please test?