Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d4322eed authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

[AudioEffect V6] Add Device Effects am: f8ed3715 am: 5c4b0e82 am: 07573e26

Change-Id: I2f4cae293d2edb321a622889c8d6ed2e29f61b27
parents 10b406eb 07573e26
Loading
Loading
Loading
Loading
+69 −0
Original line number Diff line number Diff line
@@ -3,11 +3,13 @@ package audio.effects.V6_0 {

  public class AudioEffectsConf {
    ctor public AudioEffectsConf();
    method public audio.effects.V6_0.AudioEffectsConf.DeviceEffects getDeviceEffects();
    method public audio.effects.V6_0.EffectsType getEffects();
    method public audio.effects.V6_0.LibrariesType getLibraries();
    method public audio.effects.V6_0.AudioEffectsConf.Postprocess getPostprocess();
    method public audio.effects.V6_0.AudioEffectsConf.Preprocess getPreprocess();
    method public audio.effects.V6_0.VersionType getVersion();
    method public void setDeviceEffects(audio.effects.V6_0.AudioEffectsConf.DeviceEffects);
    method public void setEffects(audio.effects.V6_0.EffectsType);
    method public void setLibraries(audio.effects.V6_0.LibrariesType);
    method public void setPostprocess(audio.effects.V6_0.AudioEffectsConf.Postprocess);
@@ -15,6 +17,11 @@ package audio.effects.V6_0 {
    method public void setVersion(audio.effects.V6_0.VersionType);
  }

  public static class AudioEffectsConf.DeviceEffects {
    ctor public AudioEffectsConf.DeviceEffects();
    method public java.util.List<audio.effects.V6_0.DeviceProcessType> getDevicePort();
  }

  public static class AudioEffectsConf.Postprocess {
    ctor public AudioEffectsConf.Postprocess();
    method public java.util.List<audio.effects.V6_0.StreamPostprocessType> getStream();
@@ -25,6 +32,68 @@ package audio.effects.V6_0 {
    method public java.util.List<audio.effects.V6_0.StreamPreprocessType> getStream();
  }

  public class DeviceProcessType extends audio.effects.V6_0.StreamProcessingType {
    ctor public DeviceProcessType();
  }

  public enum DeviceType {
    method public String getRawName();
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_AUX_DIGITAL;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_BACK_MIC;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_BLUETOOTH_A2DP;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_BLUETOOTH_BLE;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_BUILTIN_MIC;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_BUS;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_COMMUNICATION;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_ECHO_REFERENCE;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_FM_TUNER;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_HDMI;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_HDMI_ARC;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_IP;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_LINE;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_LOOPBACK;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_PROXY;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_REMOTE_SUBMIX;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_SPDIF;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_TELEPHONY_RX;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_TV_TUNER;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_USB_ACCESSORY;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_USB_DEVICE;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_USB_HEADSET;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_VOICE_CALL;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_IN_WIRED_HEADSET;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_AUX_DIGITAL;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_AUX_LINE;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_BLUETOOTH_A2DP;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_BLUETOOTH_SCO;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_BUS;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_EARPIECE;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_ECHO_CANCELLER;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_FM;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_HDMI;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_HDMI_ARC;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_HEARING_AID;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_IP;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_LINE;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_PROXY;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_REMOTE_SUBMIX;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_SPDIF;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_SPEAKER;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_SPEAKER_SAFE;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_TELEPHONY_TX;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_USB_ACCESSORY;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_USB_DEVICE;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_USB_HEADSET;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_WIRED_HEADPHONE;
    enum_constant public static final audio.effects.V6_0.DeviceType AUDIO_DEVICE_OUT_WIRED_HEADSET;
  }

  public class EffectImplType {
    ctor public EffectImplType();
    method public String getLibrary();
+93 −0
Original line number Diff line number Diff line
@@ -58,6 +58,65 @@
      <xs:pattern value="[^/].*"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="deviceType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="AUDIO_DEVICE_OUT_EARPIECE"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_SPEAKER"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_WIRED_HEADSET"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_WIRED_HEADPHONE"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_SCO"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_AUX_DIGITAL"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_HDMI"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_USB_ACCESSORY"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_USB_DEVICE"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_REMOTE_SUBMIX"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_TELEPHONY_TX"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_LINE"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_HDMI_ARC"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_SPDIF"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_FM"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_AUX_LINE"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_SPEAKER_SAFE"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_IP"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_BUS"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_PROXY"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_USB_HEADSET"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_HEARING_AID"/>
      <xs:enumeration value="AUDIO_DEVICE_OUT_ECHO_CANCELLER"/>
      <!-- Due to the xml format, IN types can not be a separated from OUT types -->
      <xs:enumeration value="AUDIO_DEVICE_IN_COMMUNICATION"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_BUILTIN_MIC"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_WIRED_HEADSET"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_AUX_DIGITAL"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_HDMI"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_VOICE_CALL"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_TELEPHONY_RX"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_BACK_MIC"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_REMOTE_SUBMIX"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_USB_ACCESSORY"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_USB_DEVICE"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_FM_TUNER"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_TV_TUNER"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_LINE"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_SPDIF"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_BLUETOOTH_A2DP"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_LOOPBACK"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_IP"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_BUS"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_PROXY"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_USB_HEADSET"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_BLUETOOTH_BLE"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_HDMI_ARC"/>
      <xs:enumeration value="AUDIO_DEVICE_IN_ECHO_REFERENCE"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- Complex types -->
  <xs:complexType name="librariesType">
    <xs:annotation>
@@ -174,6 +233,33 @@
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="deviceProcessType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
        Audio Device Effects configuration. The processing configuration consists
        of a list of effects to be automatically added on a device Port when involved in an audio
        patch.
        Valid device type are listed in "deviceType" and shall be aligned.
        Each stream element contains a list of "apply" elements. The value of the
        "effect" attr must correspond to the name of an "effect" element.
        Note that if the device is involved in a hardware patch, the effect must be hardware
        accelerated.
        Example:
        <devicePort address="BUS00_USAGE_MAIN" type="AUDIO_DEVICE_OUT_BUS">
            <apply effect="equalizer"/>
            <apply effect="effect2"/>
        </devicePort>
      </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="aec:streamProcessingType">
         <xs:complexType>
             <xs:attribute name="address" type="xs:string" use="required"/>
             <xs:attribute name="type" type="aec:deviceType" use="required"/>
         </xs:complexType>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Root element -->
  <xs:element name="audio_effects_conf">
    <xs:complexType>
@@ -194,6 +280,13 @@
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="deviceEffects" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="devicePort" type="aec:deviceProcessType" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="version" type="aec:versionType" use="required"/>
    </xs:complexType>