Jump to content

List of Android Devices with Hi-Res Audio Support (Internal DAC)


maxmp

Recommended Posts

14 minutes ago, diguitar said:

how do you know that the sound is really coming out in hi-res?

If your ears can't tell you, does it matter? (He asks, existentially :) )

Or you can long-press on the metadata line in the player screen, or use Settings > Audio > Audio Info.

Andre

Link to comment
Share on other sites

  • Replies 454
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

19 hours ago, andrewilley said:

If your ears can't tell you, does it matter? (He asks, existentially :) )

Or you can long-press on the metadata line in the player screen, or use Settings > Audio > Audio Info.

Andre

Mine is the hi-res option active? Is the sound already coming out in hi-res?

Screenshot_2020-05-27-15-51-35-539_com.maxmpz.audioplayer.jpg

Link to comment
Share on other sites

33 minutes ago, diguitar said:

And about normalizing the volume of all the songs, how should I do it because a high play or a low play is possible to activate something that corrects this?

ReplayGain can compensate for tracks which are encoded with varying peak levels. There is no automated 'on-the-fly' normalisation process though.

Andre

Link to comment
Share on other sites

Hi, I just wanted to confirm that Hi-Res mode works like a charm on Xiaomi Redmi Note 8T (tested with default 24/192 setting, MIUI 11.0.4.0). There IS the difference in quality, definitely. Thanks for the great sound!

Screenshot_2020-06-03-21-47-59-390_com.maxmpz.audioplayer.jpg

Link to comment
Share on other sites

  • 4 weeks later...
1 hour ago, diguitar said:

could someone explain to me the real function of these options i don't understand how i should configure them. 

They adjust the buffer (i.e. the pre-storage area which reads/stores data in advance of it being needed). If you are not experiencing any issues such as audio glitches, just leave them alone.

Andre

Link to comment
Share on other sites

2 hours ago, andrewilley said:

Eles ajustam o buffer (ou seja, a área de pré-armazenamento que lê / armazena dados antes de serem necessários). Se você não estiver enfrentando problemas como falhas de áudio , deixe-os em paz.

Andre

thanks for answering 👍🏻

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...
  • 5 weeks later...
  • 2 weeks later...
  • 1 month later...
On 8/7/2020 at 8:24 AM, wormant1 said:

Oh, totally forget this thread existed until now

Vivo Nex 3s, Android 10

Hi-Res output technically works, 16 bit all the way up to 384 khz, but (as I have posted in the other threads) not through the dedicated hi-fi DAC

Hi.

Can you share the link of that posted? Or explain again why not through the dedicated hi-fi DAC?

Much appreciated. Thank you.

Link to comment
Share on other sites

  • 1 month later...
46 minutes ago, germanloco said:

Hello! I have an MotoE7 plus, will Poweramp play hi res music with wired earphones?

Doesn't look like it from that screenshot, you should see Headset/AUX in the high-res list, but I don't know for sure. Unless OpenSL ES supports high res on this device?

Try the High-Res Requests thread and post the results of Settings > Audio > Advanced Tweaks > Audio Output Detection Log.

Obviously you can still play high-res files, but potentially only using the phone's standard output mode.

Andre

Link to comment
Share on other sites

  • 2 months later...
  • 2 months later...
  • 1 month later...

Xiaomi Redmi Note 4 (mido) working and getting a freaking amazing audio quality, mind blowing for such a cheap device...

Snapdragon 625 (chip), msm8953 (cpu), WCD9335 (Integrated in Chip DAC ... /sys/module/wcd9335_dlkm)

System: Android 11, Lineage 18.1 (zeelog version) ... Also tested working with Omnirom v8.1, Android v8.1 mido) pasted a lot of details for the dev but this works out of the box with a fresh rom install...

Double checked with audio frequency test files and with the root command "dumpsys media.audio_flinger" 

Note that Poweramp Equalize app, audio processing needs to be disabled when using Poweramp player... PAE does not work with Hi-Res anyway

Partial output of "dumpsys media.audio_flinger"

Quote

Output thread 0x786a0bef00, name AudioOut_95, tid 8585, type 1 (DIRECT):

  I/O handle: 149

  Standby: no

  Sample rate: 192000 Hz

  HAL frame count: 7680

  HAL format: 0x6 (AUDIO_FORMAT_PCM_24_BIT_PACKED)

  HAL buffer size: 46080 bytes

  Channel count: 2

  Channel mask: 0x00000003 (front-left, front-right)

  Processing format: 0x6 (AUDIO_FORMAT_PCM_24_BIT_PACKED)

  Processing frame size: 6 bytes

  Pending config events: none

  Output devices: 0x4 (AUDIO_DEVICE_OUT_WIRED_HEADSET)

  Input device: 0 (AUDIO_DEVICE_NONE)

  Audio source: 0 (AUDIO_SOURCE_DEFAULT)

  Timestamp stats: n=1809 disc=3 cold=6 nRdy=0 err=0 rate=0.999863 jitterMs(ave=0.00302544 std=1.8793 min=-7.4376 max=9.83687) localSR(192009, 1.02323e-07) correctedJitterMs(ave=0.00388385 std=0.204961 min=-0.402709 max=9.83687)

  Timestamp corrected: no

  Last write occurred (msecs): 72

  Process time ms stats: ave=0.482811 std=0.135446 min=0.141458 max=2.71458

  Hal write jitter ms stats: ave=-0.00641282 std=1.75007 min=-38.8147 max=7.7763

  Threadloop write latency stats: ave=4388.99 std=1.80322 min=4270.88 max=4396.33

  Master volume: 1.000000

  Master mute: off

  Normal frame count: 7680

  Total writes: 1805

  Delayed writes: 0

  Blocked in write: yes

  Suspend count: 0

  Sink buffer : 0x78da0b4020

  Mixer buffer: 0x78da0d4040

  Effect buffer: 0x78da0a4020

  Fast track availMask=0xfe

  Standby delay ns=80000000

  AudioStreamOut: 0x772a0aa430 flags 0x1 (AUDIO_OUTPUT_FLAG_DIRECT)

  Frames written: 13862400

  Suspended frames: 0

  Hal stream dump:

 

/vendor/etc/audio_effects.xml

Quote

<?xml version="1.0" encoding="UTF-8"?>

<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">

    <libraries>

        <library name="dsplus" path="libdseffect.so"/><!--dsplus-->

        <library name="bundle" path="libbundlewrapper.so"/>

        <library name="reverb" path="libreverbwrapper.so"/>

        <library name="qcbassboost" path="libqcbassboost.so"/>

        <library name="qcvirt" path="libqcvirt.so"/>

        <library name="qcreverb" path="libqcreverb.so"/>

        <library name="visualizer_sw" path="libvisualizer.so"/>

        <library name="visualizer_hw" path="libqcomvisualizer.so"/>

        <library name="downmix" path="libdownmix.so"/>

        <library name="loudness_enhancer" path="libldnhncr.so"/>

        <library name="dynamics_processing" path="libdynproc.so"/>

        <library name="proxy" path="libeffectproxy.so"/>

        <library name="offload_bundle" path="libqcompostprocbundle.so"/>

        <library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>

        <library name="dirac" path="libdirac.so"/>

    </libraries>

    <effects>

        <effect name="dsplus" library="dsplus" uuid="9d4921da-8225-4f29-aefa-39537a04bcaa"/><!--dsplus-->

        <effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">

            <libsw library="qcbassboost" uuid="23aca180-44bd-11e2-bcfd-0800200c9a66"/>

            <libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>

        </effectProxy>

        <effectProxy name="virtualizer" library="proxy" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">

            <libsw library="qcvirt" uuid="e6c98a16-22a3-11e2-b87b-f23c91aec05e"/>

            <libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>

        </effectProxy>

        <effectProxy name="equalizer" library="proxy" uuid="c8e70ecd-48ca-456e-8a4f-0002a5d5c51b">

            <libsw library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/>

            <libhw library="offload_bundle" uuid="a0dac280-401c-11e3-9379-0002a5d5c51b"/>

        </effectProxy>

        <effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>

        <effectProxy name="reverb_env_aux" library="proxy" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">

            <libsw library="qcreverb" uuid="a8c1e5f3-293d-43cd-95ec-d5e26c02e217"/>

            <libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>

        </effectProxy>

        <effectProxy name="reverb_env_ins" library="proxy" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">

            <libsw library="qcreverb" uuid="791fff8b-8129-4655-83a4-59bc61034c3a"/>

            <libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>

        </effectProxy>

        <effectProxy name="reverb_pre_aux" library="proxy" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">

            <libsw library="qcreverb" uuid="53ef1db5-c0c0-445b-b060-e34d20ebb70a"/>

            <libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>

        </effectProxy>

        <effectProxy name="reverb_pre_ins" library="proxy" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">

            <libsw library="qcreverb" uuid="b08a0e38-22a5-11e2-b87b-f23c91aec05e"/>

            <libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>

        </effectProxy>

        <effectProxy name="visualizer" library="proxy" uuid="1d0a1a53-7d5d-48f2-8e71-27fbd10d842c">

            <libsw library="visualizer_sw" uuid="d069d9e0-8329-11df-9168-0002a5d5c51b"/>

            <libhw library="visualizer_hw" uuid="7a8044a0-1a71-11e3-a184-0002a5d5c51b"/>

        </effectProxy>

        <effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>

        <effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>

        <effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>

        <effect name="aec" library="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>

        <effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>

        <effect name="dirac" library="dirac" uuid="e069d9e0-8329-11df-9168-0002a5d5c51b"/>

    </effects>

    <preprocess>

        <stream type="voice_communication">

            <apply effect="aec"/>

            <apply effect="ns"/>

        </stream>

    </preprocess>

</audio_effects_conf>

/vendor/etc/audio_output_policy.conf

Quote

# 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

  }

  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

  }

  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

    sampling_rates 44100|48000|96000|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

    sampling_rates 44100|48000|96000|192000

    bit_width 24

    app_type 69940

  }

  compress_offload_16 {

    flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING

    formats AUDIO_FORMAT_MP3|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

    sampling_rates 44100|48000|96000|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_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_VORBIS

    sampling_rates 44100|48000|96000|192000

    bit_width 24

    app_type 69940

  }

}

/system/etc/audio_effects.conf

Quote

# List of effect libraries to load. Each library element must contain a "path" element

# giving the full path of the library .so file.

# libraries {

# <lib name> {

# path <lib path>

# }

# }

libraries {

  dsplus { #dsplus

    path /vendor/lib/soundfx/libdseffect.so

  } #dsplus

# This is a proxy library that will be an abstraction for

# the HW and SW effects

 

  #proxy {

    #path /vendor/lib/soundfx/libeffectproxy.so

  #}

 

# This is the SW implementation library of the effect

  #libSW {

    #path /vendor/lib/soundfx/libswwrapper.so

  #}

 

# This is the HW implementation library for the effect

  #libHW {

    #path /vendor/lib/soundfx/libhwwrapper.so

  #}

 

  bundle {

    path /vendor/lib/soundfx/libbundlewrapper.so

  }

  reverb {

    path /vendor/lib/soundfx/libreverbwrapper.so

  }

  visualizer {

    path /vendor/lib/soundfx/libvisualizer.so

  }

  downmix {

    path /vendor/lib/soundfx/libdownmix.so

  }

  loudness_enhancer {

    path /vendor/lib/soundfx/libldnhncr.so

  }

  dynamics_processing {

    path /vendor/lib/soundfx/libdynproc.so

  }

}

 

# Default pre-processing library. Add to audio_effect.conf "libraries" section if

# audio HAL implements support for default software audio pre-processing effects

#

# pre_processing {

# path /vendor/lib/soundfx/libaudiopreprocessing.so

# }

 

# list of effects to load. Each effect element must contain a "library" and a "uuid" element.

# The value of the "library" element must correspond to the name of one library element in the

# "libraries" element.

# The name of the effect element is indicative, only the value of the "uuid" element

# designates the effect.

# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the

# generic effect type UUID.

# effects {

# <fx name> {

# library <lib name>

# uuid <effect uuid>

# }

# ...

# }

 

effects {

  dsplus { #dsplus

    library dsplus

    uuid 9d4921da-8225-4f29-aefa-39537a04bcaa

  } #dsplus

 

# additions for the proxy implementation

# Proxy implementation

  #effectname {

    #library proxy

    #uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

 

    # SW implemetation of the effect. Added as a node under the proxy to

    # indicate this as a sub effect.

      #libsw {

         #library libSW

         #uuid yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy

      #} End of SW effect

 

    # HW implementation of the effect. Added as a node under the proxy to

    # indicate this as a sub effect.

      #libhw {

         #library libHW

         #uuid zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz

      #}End of HW effect

  #} End of effect proxy

 

  bassboost {

    library bundle

    uuid 8631f300-72e2-11df-b57e-0002a5d5c51b

  }

  virtualizer {

    library bundle

    uuid 1d4033c0-8557-11df-9f2d-0002a5d5c51b

  }

  equalizer {

    library bundle

    uuid ce772f20-847d-11df-bb17-0002a5d5c51b

  }

  volume {

    library bundle

    uuid 119341a0-8469-11df-81f9-0002a5d5c51b

  }

  reverb_env_aux {

    library reverb

    uuid 4a387fc0-8ab3-11df-8bad-0002a5d5c51b

  }

  reverb_env_ins {

    library reverb

    uuid c7a511a0-a3bb-11df-860e-0002a5d5c51b

  }

  reverb_pre_aux {

    library reverb

    uuid f29a1400-a3bb-11df-8ddc-0002a5d5c51b

  }

  reverb_pre_ins {

    library reverb

    uuid 172cdf00-a3bc-11df-a72f-0002a5d5c51b

  }

  visualizer {

    library visualizer

    uuid d069d9e0-8329-11df-9168-0002a5d5c51b

  }

  downmix {

    library downmix

    uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f

  }

  loudness_enhancer {

    library loudness_enhancer

    uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c

  }

  dynamics_processing {

    library dynamics_processing

    uuid e0e6539b-1781-7261-676f-6d7573696340

  }

}

 

# Default pre-processing effects. Add to audio_effect.conf "effects" section if

# audio HAL implements support for them.

#

# agc {

# library pre_processing

# uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b

# }

# aec {

# library pre_processing

# uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b

# }

# ns {

# library pre_processing

# uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b

# }

 

# Audio preprocessor configurations.

# The pre processor configuration consists in a list of elements each describing

# pre processor settings for a given input source. Valid input source names are:

# "mic", "camcorder", "voice_recognition", "voice_communication"

# Each input source element contains a list of effects elements. The name of the effect

# element must be the name of one of the effects in the "effects" list of the file.

# Each effect element may optionally contain a list of parameters and their

# default value to apply when the pre processor effect is created.

# A parameter is defined by a "param" element and a "value" element. Each of these elements

# consists in one or more elements specifying a type followed by a value.

# The types defined are: "int", "short", "float", "bool" and "string"

# When both "param" and "value" are a single int, a simple form is allowed where just

# the param and value pair is present in the parameter description

# pre_processing {

# <input source name> {

# <fx name> {

# <param 1 name> {

# param {

# int|short|float|bool|string <value>

# [ int|short|float|bool|string <value> ]

# ...

# }

# value {

# int|short|float|bool|string <value>

# [ int|short|float|bool|string <value> ]

# ...

# }

# }

# <param 2 name > {<param> <value>}

# ...

# }

# ...

# }

# ...

# }

 

#

# TODO: add default audio pre processor configurations after debug and tuning phase

#

/vendor/etc/audio_policy_configuration.xml

Quote

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<!-- Copyright (c) 2016-2017, 2020 The Linux Foundation. All rights reserved

     Not a Contribution.

-->

<!-- Copyright (C) 2015 The Android Open Source Project

 

     Licensed under the Apache License, Version 2.0 (the "License");

     you may not use this file except in compliance with the License.

     You may obtain a copy of the License at

 

          http://www.apache.org/licenses/LICENSE-2.0

 

     Unless required by applicable law or agreed to in writing, software

     distributed under the License is distributed on an "AS IS" BASIS,

     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

     See the License for the specific language governing permissions and

     limitations under the License.

-->

 

<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">

    <!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” -->

 

    <!-- Global configuration Decalaration -->

    <globalConfiguration speaker_drc_enabled="true" call_screen_mode_supported="true"/>

 

 

    <!-- Modules section:

        There is one section per audio HW module present on the platform.

        Each module section will contains two mandatory tags for audio HAL “halVersion” and “name”.

        The module names are the same as in current .conf file:

                “primary”, “A2DP”, “remote_submix”, “USB”

        Each module will contain the following sections:

        “devicePorts”: a list of device descriptors for all input and output devices accessible via this

        module.

        This contains both permanently attached devices and removable devices.

        “mixPorts”: listing all output and input streams exposed by the audio HAL

        “routes”: list of possible connections between input and output devices or between stream and

        devices.

            "route": is defined by an attribute:

                -"type": <mux|mix> means all sources are mutual exclusive (mux) or can be mixed (mix)

                -"sink": the sink involved in this route

                -"sources": all the sources than can be connected to the sink via vis route

        “attachedDevices”: permanently attached devices.

        The attachedDevices section is a list of devices names. The names correspond to device names

        defined in <devicePorts> section.

        “defaultOutputDevice”: device to be used by default when no policy rule applies

    -->

    <modules>

        <!-- Primary Audio HAL -->

        <module name="primary" halVersion="2.0">

            <attachedDevices>

                <item>Earpiece</item>

                <item>Speaker</item>

                <item>Telephony Tx</item>

                <item>Built-In Mic</item>

                <item>Built-In Back Mic</item>

                <item>FM Tuner</item>

                <item>Telephony Rx</item>

            </attachedDevices>

            <defaultOutputDevice>Speaker</defaultOutputDevice>

            <mixPorts>

                <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>

                </mixPort>

                <mixPort name="raw" role="source"

                        flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>

                </mixPort>

                <mixPort name="deep_buffer" role="source"

                        flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>

                </mixPort>

                <mixPort name="direct_pcm" role="source"

                        flags="AUDIO_OUTPUT_FLAG_DIRECT">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"

                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>

                    <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"

                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>

                    <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"

                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>

                </mixPort>

                <mixPort name="compressed_offload" role="source"

                         flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">

                    <profile name="" format="AUDIO_FORMAT_MP3"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"

                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>

                    <profile name="" format="AUDIO_FORMAT_FLAC"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"

                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>

                    <profile name="" format="AUDIO_FORMAT_ALAC"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"

                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>

                    <profile name="" format="AUDIO_FORMAT_APE"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"

                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>

                    <profile name="" format="AUDIO_FORMAT_AAC_LC"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"

                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>

                    <profile name="" format="AUDIO_FORMAT_AAC_HE_V1"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"

                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>

                    <profile name="" format="AUDIO_FORMAT_AAC_HE_V2"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"

                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>

                    <profile name="" format="AUDIO_FORMAT_WMA"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"

                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>

                    <profile name="" format="AUDIO_FORMAT_WMA_PRO"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"

                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>

                    <profile name="" format="AUDIO_FORMAT_AAC_ADTS_LC"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"

                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>

                    <profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V1"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"

                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>

                    <profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V2"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"

                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>

                </mixPort>

                <mixPort name="voice_tx" role="source">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>

                </mixPort>

                <mixPort name="voip_rx" role="source"

                         flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>

                </mixPort>

                <mixPort name="primary input" role="sink">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"

                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>

                </mixPort>

                <mixPort name="incall_music_uplink" role="source"

                         flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,16000,48000"

                            channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>

                </mixPort>

                <mixPort name="record_24" role="sink">

                    <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"

                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>

                    <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"

                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>

                    <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"

                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>

                </mixPort>

                <mixPort name="voice_rx" role="sink">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>

                </mixPort>

            </mixPorts>

 

            <devicePorts>

                <!-- Output devices declaration, i.e. Sink DEVICE PORT -->

                <devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">

                   <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                            samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>

                </devicePort>

                <devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER" address="">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>

                </devicePort>

                <devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>

                </devicePort>

                <devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>

                </devicePort>

                <devicePort tagName="Line" type="AUDIO_DEVICE_OUT_LINE" role="sink">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>

                </devicePort>

                <devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>

                </devicePort>

                <devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>

                </devicePort>

                <devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>

                </devicePort>

                <devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>

                </devicePort>

                <devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>

                </devicePort>

                <devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>

                </devicePort>

                <devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>

                </devicePort>

 

                <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"

                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>

                </devicePort>

                <devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"

                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>

                </devicePort>

                <devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="48000"

                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>

                </devicePort>

                <devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"

                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>

                </devicePort>

                <devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>

                </devicePort>

                <devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">

                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"

                             samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>

                </devicePort>

            </devicePorts>

            <!-- route declaration, i.e. list all available sources for a given sink -->

            <routes>

                <route type="mix" sink="Earpiece"

                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>

                <route type="mix" sink="Speaker"

                       sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>

                <route type="mix" sink="Wired Headset"

                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>

                <route type="mix" sink="Wired Headphones"

                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>

                <route type="mix" sink="Line"

                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>

                <route type="mix" sink="HDMI"

                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload"/>

                <route type="mix" sink="Proxy"

                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload"/>

                <route type="mix" sink="Telephony Tx"

                       sources="voice_tx,incall_music_uplink"/>

                <route type="mix" sink="FM"

                       sources="primary output"/>

                <route type="mix" sink="BT SCO"

                       sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>

                <route type="mix" sink="BT SCO Headset"

                       sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>

                <route type="mix" sink="BT SCO Car Kit"

                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>

                <route type="mix" sink="Telephony Tx"

                       sources="voice_tx"/>

                <route type="mix" sink="primary input"

                       sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner"/>

                <route type="mix" sink="record_24"

                       sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>

                <route type="mix" sink="voice_rx"

                       sources="Telephony Rx"/>

            </routes>

 

        </module>

 

        <!-- A2DP Input Audio HAL -->

        <xi:include href="/vendor/etc/a2dp_in_audio_policy_configuration.xml"/>

 

        <!-- Usb Audio HAL -->

        <xi:include href="/vendor/etc/usb_audio_policy_configuration.xml"/>

 

        <!-- Remote Submix Audio HAL -->

        <xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>

 

        <!-- Bluetooth Audio HAL -->

        <xi:include href="/vendor/etc/bluetooth_audio_policy_configuration.xml"/>

 

    </modules>

    <!-- End of Modules section -->

 

    <!-- Volume section -->

 

    <xi:include href="/vendor/etc/audio_policy_volumes.xml"/>

    <xi:include href="/vendor/etc/default_volume_tables.xml"/>

 

    <!-- End of Volume section -->

 

</audioPolicyConfiguration>

 

 

Also note that I am using dolby digital plus equalizer library... but its disabled and having it or not should not affect the compatibility

 

Captures of Poweramp Player + Xiaomi's Dirac Option... (not really related)

 

iMarkup_20210731_063544.jpg

iMarkup_20210731_063502.jpg

iMarkup_20210731_063401.jpg

iMarkup_20210731_063320.jpg

iMarkup_20210731_063253.jpg

Edited by Ali Rahal
Link to comment
Share on other sites

  • 7 months later...
  • 1 year later...

Do I understand correctly that it makes no sense to use resampling (for example, up to 192 kHz), if most likely there is the possibility of native sound output at 44.1 kHz, as shown at the post above?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...