diff options
-rw-r--r-- | include/hardware/camera3.h | 14 | ||||
-rw-r--r-- | modules/usbaudio/audio_hal.c | 10 |
2 files changed, 2 insertions, 22 deletions
diff --git a/include/hardware/camera3.h b/include/hardware/camera3.h index 3ef6d6f..d23bdf2 100644 --- a/include/hardware/camera3.h +++ b/include/hardware/camera3.h @@ -2958,14 +2958,6 @@ typedef struct camera3_device_ops { * interruptible hardware blocks should be stopped, and any uninterruptible * blocks should be waited on. * - * flush() may be called concurrently to process_capture_request(), with the expectation that - * process_capture_request will return quickly and the request submitted in that - * process_capture_request call is treated like all other in-flight requests. Due to - * concurrency issues, it is possible that from the HAL's point of view, a - * process_capture_request() call may be started after flush has been invoked but has not - * returned yet. If such a call happens before flush() returns, the HAL should treat the new - * capture request like other in-flight pending requests (see #4 below). - * * More specifically, the HAL must follow below requirements for various cases: * * 1. For captures that are too late for the HAL to cancel/stop, and will be @@ -3010,12 +3002,6 @@ typedef struct camera3_device_ops { * 3.7. For fully-missing metadata, calling CAMERA3_MSG_ERROR_RESULT is sufficient, no * need to call process_capture_result with NULL metadata or equivalent. * - * 4. If a flush() is invoked while a process_capture_request() invocation is active, that - * process call should return as soon as possible. In addition, if a process_capture_request() - * call is made after flush() has been invoked but before flush() has returned, the - * capture request provided by the late process_capture_request call should be treated like - * a pending request in case #2 above. - * * flush() should only return when there are no more outstanding buffers or * requests left in the HAL. The framework may call configure_streams (as * the HAL state is now quiesced) or may issue new requests. diff --git a/modules/usbaudio/audio_hal.c b/modules/usbaudio/audio_hal.c index 872fa93..5431476 100644 --- a/modules/usbaudio/audio_hal.c +++ b/modules/usbaudio/audio_hal.c @@ -55,8 +55,6 @@ static const unsigned k_force_channels = 0; #define DEFAULT_INPUT_BUFFER_SIZE_MS 20 -// stereo channel count -#define FCC_2 2 // fixed channel count of 8 limitation (for data processing in AudioFlinger) #define FCC_8 8 @@ -530,14 +528,10 @@ static int adev_open_output_stream(struct audio_hw_device *dev, proposed_channel_count = profile_get_default_channel_count(out->profile); } if (proposed_channel_count != 0) { - if (proposed_channel_count <= FCC_2) { - // use channel position mask for mono and stereo - config->channel_mask = audio_channel_out_mask_from_count(proposed_channel_count); - } else { - // use channel index mask for multichannel + config->channel_mask = audio_channel_out_mask_from_count(proposed_channel_count); + if (config->channel_mask == AUDIO_CHANNEL_INVALID) config->channel_mask = audio_channel_mask_for_index_assignment_from_count(proposed_channel_count); - } out->hal_channel_count = proposed_channel_count; } else { out->hal_channel_count = audio_channel_count_from_out_mask(config->channel_mask); |