google / google/oboe

How does default device selection work?

Open
#1,650 1 comment 0 reactions 0 assignees View on GitHub
docs
Dominant language
C++
Stars
4.1k
Forks
639
Avg merge
2d 23h
Merged PRs (30d)
8

Description

Android version(s): API 31

Android device(s): Samsung Galaxy A52s

Oboe version: 1.6.1

App name used for testing: LiveEffect

**Short description**
Relying on automatic device selection using `setDeviceId(0)` when creating an audio stream is a useful feature. Unfortunately it's not obvious what has effect on it. For example creating an input stream with the ` oboe::InputPreset::Generic` automatically selects the top microphone, but with ` oboe::InputPreset::VoiceCommunication` the bottom microphone is selected. Could you provide some information on what has effect on how a device is selected when the id is not specified?
I also run into cases where with the same configuration different devices where selected on different runs. How can that happen?

**Steps to reproduce**
Start LiveEffect app with AAudio and ` oboe::InputPreset::VoiceCommunication` preset. Log the selected input device id after the stream was created. Do the same with ` oboe::InputPreset::Generic`.

**Expected behaviour**
I would expect that the bottom (default) microphone would be selected in both cases.

**Actual behaviour**
Different input devices are selected by default.

**Device**
Samsung Galaxy A52s

Any help or guide would be appreciated!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.