audio: mpq: Move audio output activities to audio_stream_out

Move output activities to audio_stream_out, output activites on
mpq may involve multiple handles for a single hal session, and
needs elaborate handling.

Change-Id: I42b7e16cf316be89cbe22bd70b6c685d89f15f27
This commit is contained in:
Dhananjay Kumar 2013-11-26 23:33:22 +05:30
parent daf6ebbc06
commit 01e921adf7
4 changed files with 1193 additions and 1160 deletions

View File

@ -10,6 +10,7 @@ AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
LOCAL_SRC_FILES := \
audio_hw.c \
audio_stream_out.c \
$(AUDIO_PLATFORM)/hw_info.c \
$(AUDIO_PLATFORM)/platform.c

File diff suppressed because it is too large Load Diff

View File

@ -220,6 +220,41 @@ struct audio_device {
int (*visualizer_stop_output)(audio_io_handle_t);
};
static const char * const use_case_table[AUDIO_USECASE_MAX] = {
[USECASE_AUDIO_PLAYBACK_DEEP_BUFFER] = "deep-buffer-playback",
[USECASE_AUDIO_PLAYBACK_LOW_LATENCY] = "low-latency-playback",
[USECASE_AUDIO_PLAYBACK_MULTI_CH] = "multi-channel-playback",
[USECASE_AUDIO_PLAYBACK_OFFLOAD] = "compress-offload-playback",
[USECASE_AUDIO_RECORD] = "audio-record",
[USECASE_AUDIO_RECORD_COMPRESS] = "audio-record-compress",
[USECASE_AUDIO_RECORD_LOW_LATENCY] = "low-latency-record",
[USECASE_AUDIO_RECORD_FM_VIRTUAL] = "fm-virtual-record",
[USECASE_AUDIO_PLAYBACK_FM] = "play-fm",
[USECASE_VOICE_CALL] = "voice-call",
[USECASE_VOICE2_CALL] = "voice2-call",
[USECASE_VOLTE_CALL] = "volte-call",
[USECASE_QCHAT_CALL] = "qchat-call",
[USECASE_COMPRESS_VOIP_CALL] = "compress-voip-call",
[USECASE_INCALL_REC_UPLINK] = "incall-rec-uplink",
[USECASE_INCALL_REC_DOWNLINK] = "incall-rec-downlink",
[USECASE_INCALL_REC_UPLINK_AND_DOWNLINK] = "incall-rec-uplink-and-downlink",
[USECASE_INCALL_MUSIC_UPLINK] = "incall_music_uplink",
[USECASE_INCALL_MUSIC_UPLINK2] = "incall_music_uplink2",
[USECASE_AUDIO_SPKR_CALIB_RX] = "spkr-rx-calib",
[USECASE_AUDIO_SPKR_CALIB_TX] = "spkr-vi-record",
};
int adev_open_output_stream(struct audio_hw_device *dev,
audio_io_handle_t handle,
audio_devices_t devices,
audio_output_flags_t flags,
struct audio_config *config,
struct audio_stream_out **stream_out);
void adev_close_output_stream(struct audio_hw_device *dev,
struct audio_stream_out *stream);
int select_devices(struct audio_device *adev,
audio_usecase_t uc_id);
int disable_audio_route(struct audio_device *adev,

1157
hal_mpq/audio_stream_out.c Normal file

File diff suppressed because it is too large Load Diff