# List of profiles for the output device session where stream is routed.
# A stream opened with the inputs attributes which match the "flags" and
# "formats" as specified in the profile is routed to a device at
# sample rate specified under "sampling_rates" and bit width under
# "bit_width" and the topology extracted from the acdb data against
# the "app_type".
#
# the flags and formats are specified using the strings corresponding to
# enums in audio.h and audio_policy.h. They are concatenated with "|"
# without space or "\n".
# the flags and formats should match the ones in "audio_policy.conf"

outputs {
  default {
    flags AUDIO_OUTPUT_FLAG_PRIMARY
    formats AUDIO_FORMAT_PCM_16_BIT
    sampling_rates 48000
    bit_width 16
    app_type 69937
  }
#ifdef OPLUS_FEATURE_PLAYBACK_24BIT
#Yewenliang@MULTIMEDIA.AUDIODRIVER.HAL, 2021/01/12, add for support playback with 24bits
  default_24 {
    flags AUDIO_OUTPUT_FLAG_PRIMARY
    formats AUDIO_FORMAT_PCM_24_BIT_PACKED
    sampling_rates 48000
    bit_width 24
    app_type 69937
  }
#endif /* OPLUS_FEATURE_PLAYBACK_24BIT */
  proaudio {
    flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW
    formats AUDIO_FORMAT_PCM_16_BIT
    sampling_rates 48000
    bit_width 16
    app_type 69943
  }
  voip_rx {
    flags AUDIO_OUTPUT_FLAG_VOIP_RX|AUDIO_OUTPUT_FLAG_DIRECT
    formats AUDIO_FORMAT_PCM_16_BIT
    sampling_rates 8000|16000|32000|48000
    bit_width 16
    app_type 69946
  }
  deep_buffer {
    flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
    formats AUDIO_FORMAT_PCM_16_BIT
    sampling_rates 48000
    bit_width 16
    app_type 69936
  }
#ifdef OPLUS_FEATURE_PLAYBACK_24BIT
#Yewenliang@MULTIMEDIA.AUDIODRIVER.HAL, 2021/01/12, add for support playback with 24bits
  deep_buffer_24 {
    flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
    formats AUDIO_FORMAT_PCM_24_BIT_PACKED
    sampling_rates 48000
    bit_width 24
    app_type 69936
  }
#endif /* OPLUS_FEATURE_PLAYBACK_24BIT */
  direct_pcm_16 {
    flags AUDIO_OUTPUT_FLAG_DIRECT
    formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT
    sampling_rates 44100|48000|88200|96000|176400|192000
    bit_width 16
    app_type 69936
  }
  direct_pcm_24 {
    flags AUDIO_OUTPUT_FLAG_DIRECT
    formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_32_BIT
    sampling_rates 44100|48000|88200|96000|176400|192000|352800|384000
    bit_width 24
    app_type 69940
  }
  direct_pcm_32 {
    flags AUDIO_OUTPUT_FLAG_DIRECT
    formats AUDIO_FORMAT_PCM_32_BIT
    sampling_rates 44100|48000|88200|96000|176400|192000|352800|384000
    bit_width 32
    app_type 69942
  }
  compress_passthrough {
    flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING|AUDIO_OUTPUT_FLAG_COMPRESS_PASSTHROUGH
    formats AUDIO_FORMAT_DTS|AUDIO_FORMAT_DTS_HD|AUDIO_FORMAT_DSD
    sampling_rates 32000|44100|48000|88200|96000|176400|192000|352800
    bit_width 16
    app_type 69941
  }
  compress_offload_16 {
    flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
    formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_PCM_16_BIT_OFFLOAD|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2|AUDIO_FORMAT_AAC_LATM_LC|AUDIO_FORMAT_AAC_LATM_HE_V1|AUDIO_FORMAT_AAC_LATM_HE_V2
    sampling_rates 44100|48000|88200|96000|176400|192000
    bit_width 16
    app_type 69936
  }
  compress_offload_24 {
    flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
    formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2|AUDIO_FORMAT_AAC_LATM_LC|AUDIO_FORMAT_AAC_LATM_HE_V1|AUDIO_FORMAT_AAC_LATM_HE_V2
    sampling_rates 44100|48000|88200|96000|176400|192000
    bit_width 24
    app_type 69940
  }
}

inputs {
  record_16bit {
    formats AUDIO_FORMAT_PCM_16_BIT
#ifndef OPLUS_BUG_COMPATIBILITY
#//Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.HAL.1825796, 2020/04/13, Modify for not support rate
#    sampling_rates 8000|16000|32000|44100|48000|88200|96000|176400|192000
#else
    sampling_rates 8000|16000|32000|48000
#endif /* OPLUS_BUG_COMPATIBILITY */
    bit_width 16
    app_type 69938
  }
  record_24bit {
#ifndef OPLUS_FEATURE_OPREC_SUPPORT
#//liuhaituo@MULTIMEDIA.AUDIODRIVER.FEATURE, 2021/07/30, Add for dual dynamic hdr record
#    formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_24_BIT
#else
    formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT
#endif
#ifndef OPLUS_BUG_COMPATIBILITY
#//Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.HAL.1825796, 2020/04/13, Modify for not support rate
#    sampling_rates 44100|48000|88200|96000|176400|192000
#else
    sampling_rates 48000
#endif /* OPLUS_BUG_COMPATIBILITY */
    bit_width 24
    app_type 69948
  }
  record_32bit {
    formats AUDIO_FORMAT_PCM_32_BIT|AUDIO_FORMAT_PCM_FLOAT
#ifndef OPLUS_BUG_COMPATIBILITY
#//Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.HAL.1825796, 2020/04/13, Modify for not support rate
#    sampling_rates 44100|48000|88200|96000|176400|192000
#else
    sampling_rates 48000
#endif /* OPLUS_BUG_COMPATIBILITY */
    bit_width 32
    app_type 69949
  }
  record_compress_16 {
    flags AUDIO_INPUT_FLAG_COMPRESS
    formats AUDIO_FORMAT_PCM_16_BIT
#ifndef OPLUS_BUG_COMPATIBILITY
#//Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.HAL.1825796, 2020/04/13, Modify for not support rate
#    sampling_rates 8000|16000|32000|44100|48000|88200|96000|176400|192000
#else
    sampling_rates 8000|16000|32000|48000
#endif /* OPLUS_BUG_COMPATIBILITY */
    bit_width 16
    app_type 69938
  }
  record_compress_24 {
    flags AUDIO_INPUT_FLAG_COMPRESS
#ifndef OPLUS_FEATURE_OPREC_SUPPORT
#//liuhaituo@MULTIMEDIA.AUDIODRIVER.FEATURE, 2021/07/30, Add for dual dynamic hdr record
#    formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_24_BIT
#else
    formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT
#endif
#ifndef OPLUS_BUG_COMPATIBILITY
#//Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.HAL.1825796, 2020/04/13, Modify for not support rate
#    sampling_rates 44100|48000|88200|96000|176400|192000
#else
    sampling_rates 48000
#endif /* OPLUS_BUG_COMPATIBILITY */
    bit_width 24
    app_type 69948
  }
  record_compress_32 {
    flags AUDIO_INPUT_FLAG_COMPRESS
    formats AUDIO_FORMAT_PCM_32_BIT|AUDIO_FORMAT_PCM_FLOAT
#ifndef OPLUS_BUG_COMPATIBILITY
#//Jianfeng.Qiu@MULTIMEDIA.AUDIODRIVER.HAL.1825796, 2020/04/13, Modify for not support rate
#    sampling_rates 44100|48000|88200|96000|176400|192000
#else
    sampling_rates 48000
#endif /* OPLUS_BUG_COMPATIBILITY */
    bit_width 32
    app_type 69949
  }
  voip_tx {
    flags AUDIO_INPUT_FLAG_VOIP_TX
    formats AUDIO_FORMAT_PCM_16_BIT
    sampling_rates 8000|16000|32000|48000
    bit_width 16
    app_type 69946
  }
  low_latency_voip_tx {
    flags AUDIO_INPUT_FLAG_VOIP_TX|AUDIO_INPUT_FLAG_FAST
    formats AUDIO_FORMAT_PCM_16_BIT
    sampling_rates 48000
    bit_width 16
    app_type 69946
  }
}
