Loading media/java/android/media/Spatializer.java +23 −0 Original line number Diff line number Diff line Loading @@ -214,6 +214,29 @@ public class Spatializer { @RequiresPermission(android.Manifest.permission.MODIFY_DEFAULT_AUDIO_EFFECTS) public static final int HEAD_TRACKING_MODE_RELATIVE_DEVICE = 2; /** * @hide * Head tracking mode to string conversion * @param mode a valid head tracking mode * @return a string containing the matching constant name */ public static final String headtrackingModeToString(int mode) { switch(mode) { case HEAD_TRACKING_MODE_UNSUPPORTED: return "HEAD_TRACKING_MODE_UNSUPPORTED"; case HEAD_TRACKING_MODE_DISABLED: return "HEAD_TRACKING_MODE_DISABLED"; case HEAD_TRACKING_MODE_OTHER: return "HEAD_TRACKING_MODE_OTHER"; case HEAD_TRACKING_MODE_RELATIVE_WORLD: return "HEAD_TRACKING_MODE_RELATIVE_WORLD"; case HEAD_TRACKING_MODE_RELATIVE_DEVICE: return "HEAD_TRACKING_MODE_RELATIVE_DEVICE"; default: return "head tracking mode unknown " + mode; } } /** * Return the level of support for the spatialization feature on this device. * This level of support is independent of whether the {@code Spatializer} is currently Loading services/core/java/com/android/server/audio/AudioService.java +1 −0 Original line number Diff line number Diff line Loading @@ -9408,6 +9408,7 @@ public class AudioService extends IAudioService.Stub pw.println("mHasSpatializerEffect:" + mHasSpatializerEffect); pw.println("isSpatializerEnabled:" + isSpatializerEnabled()); pw.println("isSpatialAudioEnabled:" + isSpatialAudioEnabled()); mSpatializerHelper.dump(pw); mAudioSystem.dump(pw); } Loading services/core/java/com/android/server/audio/SpatializerHelper.java +25 −4 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import android.os.RemoteCallbackList; import android.os.RemoteException; import android.util.Log; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import java.util.Locale; Loading Loading @@ -84,7 +85,7 @@ public class SpatializerHelper { private int mSpatLevel = Spatializer.SPATIALIZER_IMMERSIVE_LEVEL_NONE; private int mCapableSpatLevel = Spatializer.SPATIALIZER_IMMERSIVE_LEVEL_NONE; private int mActualHeadTrackingMode = Spatializer.HEAD_TRACKING_MODE_UNSUPPORTED; private int mDesiredHeadTrackingMode = Spatializer.HEAD_TRACKING_MODE_UNSUPPORTED; private int mDesiredHeadTrackingMode = Spatializer.HEAD_TRACKING_MODE_RELATIVE_WORLD; private int mSpatOutput = 0; private @Nullable ISpatializer mSpat; private @Nullable SpatializerCallback mSpatCallback; Loading Loading @@ -681,12 +682,13 @@ public class SpatializerHelper { return; } try { if (mode != mDesiredHeadTrackingMode) { mSpat.setDesiredHeadTrackingMode(spatializerIntToHeadTrackingModeType(mode)); if (mDesiredHeadTrackingMode != mode) { mDesiredHeadTrackingMode = mode; dispatchDesiredHeadTrackingMode(mode); } if (mode != headTrackingModeTypeToSpatializerInt(mSpat.getActualHeadTrackingMode())) { mSpat.setDesiredHeadTrackingMode(spatializerIntToHeadTrackingModeType(mode)); } } catch (RemoteException e) { Log.e(TAG, "Error calling setDesiredHeadTrackingMode", e); } Loading Loading @@ -937,6 +939,7 @@ public class SpatializerHelper { } catch (Exception e) { Log.e(TAG, "Error calling setHeadSensor:" + headHandle, e); } setDesiredHeadTrackingMode(mDesiredHeadTrackingMode); } //------------------------------------------------------ Loading Loading @@ -983,4 +986,22 @@ public class SpatializerHelper { throw(new IllegalArgumentException("Unexpected spatializer level:" + level)); } } void dump(PrintWriter pw) { pw.println("SpatializerHelper:"); pw.println("\tmState:" + mState); pw.println("\tmSpatLevel:" + mSpatLevel); pw.println("\tmCapableSpatLevel:" + mCapableSpatLevel); pw.println("\tmActualHeadTrackingMode:" + Spatializer.headtrackingModeToString(mActualHeadTrackingMode)); pw.println("\tmDesiredHeadTrackingMode:" + Spatializer.headtrackingModeToString(mDesiredHeadTrackingMode)); String modesString = ""; int[] modes = getSupportedHeadTrackingModes(); for (int mode : modes) { modesString += Spatializer.headtrackingModeToString(mode) + " "; } pw.println("\tsupported head tracking modes:" + modesString); pw.println("\tmSpatOutput:" + mSpatOutput); } } Loading
media/java/android/media/Spatializer.java +23 −0 Original line number Diff line number Diff line Loading @@ -214,6 +214,29 @@ public class Spatializer { @RequiresPermission(android.Manifest.permission.MODIFY_DEFAULT_AUDIO_EFFECTS) public static final int HEAD_TRACKING_MODE_RELATIVE_DEVICE = 2; /** * @hide * Head tracking mode to string conversion * @param mode a valid head tracking mode * @return a string containing the matching constant name */ public static final String headtrackingModeToString(int mode) { switch(mode) { case HEAD_TRACKING_MODE_UNSUPPORTED: return "HEAD_TRACKING_MODE_UNSUPPORTED"; case HEAD_TRACKING_MODE_DISABLED: return "HEAD_TRACKING_MODE_DISABLED"; case HEAD_TRACKING_MODE_OTHER: return "HEAD_TRACKING_MODE_OTHER"; case HEAD_TRACKING_MODE_RELATIVE_WORLD: return "HEAD_TRACKING_MODE_RELATIVE_WORLD"; case HEAD_TRACKING_MODE_RELATIVE_DEVICE: return "HEAD_TRACKING_MODE_RELATIVE_DEVICE"; default: return "head tracking mode unknown " + mode; } } /** * Return the level of support for the spatialization feature on this device. * This level of support is independent of whether the {@code Spatializer} is currently Loading
services/core/java/com/android/server/audio/AudioService.java +1 −0 Original line number Diff line number Diff line Loading @@ -9408,6 +9408,7 @@ public class AudioService extends IAudioService.Stub pw.println("mHasSpatializerEffect:" + mHasSpatializerEffect); pw.println("isSpatializerEnabled:" + isSpatializerEnabled()); pw.println("isSpatialAudioEnabled:" + isSpatialAudioEnabled()); mSpatializerHelper.dump(pw); mAudioSystem.dump(pw); } Loading
services/core/java/com/android/server/audio/SpatializerHelper.java +25 −4 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import android.os.RemoteCallbackList; import android.os.RemoteException; import android.util.Log; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import java.util.Locale; Loading Loading @@ -84,7 +85,7 @@ public class SpatializerHelper { private int mSpatLevel = Spatializer.SPATIALIZER_IMMERSIVE_LEVEL_NONE; private int mCapableSpatLevel = Spatializer.SPATIALIZER_IMMERSIVE_LEVEL_NONE; private int mActualHeadTrackingMode = Spatializer.HEAD_TRACKING_MODE_UNSUPPORTED; private int mDesiredHeadTrackingMode = Spatializer.HEAD_TRACKING_MODE_UNSUPPORTED; private int mDesiredHeadTrackingMode = Spatializer.HEAD_TRACKING_MODE_RELATIVE_WORLD; private int mSpatOutput = 0; private @Nullable ISpatializer mSpat; private @Nullable SpatializerCallback mSpatCallback; Loading Loading @@ -681,12 +682,13 @@ public class SpatializerHelper { return; } try { if (mode != mDesiredHeadTrackingMode) { mSpat.setDesiredHeadTrackingMode(spatializerIntToHeadTrackingModeType(mode)); if (mDesiredHeadTrackingMode != mode) { mDesiredHeadTrackingMode = mode; dispatchDesiredHeadTrackingMode(mode); } if (mode != headTrackingModeTypeToSpatializerInt(mSpat.getActualHeadTrackingMode())) { mSpat.setDesiredHeadTrackingMode(spatializerIntToHeadTrackingModeType(mode)); } } catch (RemoteException e) { Log.e(TAG, "Error calling setDesiredHeadTrackingMode", e); } Loading Loading @@ -937,6 +939,7 @@ public class SpatializerHelper { } catch (Exception e) { Log.e(TAG, "Error calling setHeadSensor:" + headHandle, e); } setDesiredHeadTrackingMode(mDesiredHeadTrackingMode); } //------------------------------------------------------ Loading Loading @@ -983,4 +986,22 @@ public class SpatializerHelper { throw(new IllegalArgumentException("Unexpected spatializer level:" + level)); } } void dump(PrintWriter pw) { pw.println("SpatializerHelper:"); pw.println("\tmState:" + mState); pw.println("\tmSpatLevel:" + mSpatLevel); pw.println("\tmCapableSpatLevel:" + mCapableSpatLevel); pw.println("\tmActualHeadTrackingMode:" + Spatializer.headtrackingModeToString(mActualHeadTrackingMode)); pw.println("\tmDesiredHeadTrackingMode:" + Spatializer.headtrackingModeToString(mDesiredHeadTrackingMode)); String modesString = ""; int[] modes = getSupportedHeadTrackingModes(); for (int mode : modes) { modesString += Spatializer.headtrackingModeToString(mode) + " "; } pw.println("\tsupported head tracking modes:" + modesString); pw.println("\tmSpatOutput:" + mSpatOutput); } }