Loading hal/audio_hw.c +5 −1 Original line number Diff line number Diff line Loading @@ -9301,7 +9301,11 @@ static int adev_open_input_stream(struct audio_hw_device *dev, goto err_open; } } if (audio_extn_is_concurrent_capture_enabled()) { /* assign concurrent capture usecase if record has to caried out from * actual hardware input source */ if (audio_extn_is_concurrent_capture_enabled() && !audio_is_virtual_input_source(in->source)) { /* Acquire lock to avoid two concurrent use cases initialized to same pcm record use case */ Loading hal/audio_hw.h +15 −0 Original line number Diff line number Diff line Loading @@ -796,6 +796,21 @@ static inline bool is_loopback_input_device(audio_devices_t device) { return false; } static inline bool audio_is_virtual_input_source(audio_source_t source) { bool result = false; switch(source) { case AUDIO_SOURCE_VOICE_UPLINK : case AUDIO_SOURCE_VOICE_DOWNLINK : case AUDIO_SOURCE_VOICE_CALL : case AUDIO_SOURCE_FM_TUNER : result = true; break; default: break; } return result; } int route_output_stream(struct stream_out *stream, struct listnode *devices); int route_input_stream(struct stream_in *stream, Loading Loading
hal/audio_hw.c +5 −1 Original line number Diff line number Diff line Loading @@ -9301,7 +9301,11 @@ static int adev_open_input_stream(struct audio_hw_device *dev, goto err_open; } } if (audio_extn_is_concurrent_capture_enabled()) { /* assign concurrent capture usecase if record has to caried out from * actual hardware input source */ if (audio_extn_is_concurrent_capture_enabled() && !audio_is_virtual_input_source(in->source)) { /* Acquire lock to avoid two concurrent use cases initialized to same pcm record use case */ Loading
hal/audio_hw.h +15 −0 Original line number Diff line number Diff line Loading @@ -796,6 +796,21 @@ static inline bool is_loopback_input_device(audio_devices_t device) { return false; } static inline bool audio_is_virtual_input_source(audio_source_t source) { bool result = false; switch(source) { case AUDIO_SOURCE_VOICE_UPLINK : case AUDIO_SOURCE_VOICE_DOWNLINK : case AUDIO_SOURCE_VOICE_CALL : case AUDIO_SOURCE_FM_TUNER : result = true; break; default: break; } return result; } int route_output_stream(struct stream_out *stream, struct listnode *devices); int route_input_stream(struct stream_in *stream, Loading