summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Daniel Chapin <chapin@google.com> 2020-12-22 18:10:43 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-12-22 18:10:43 +0000
commitc63a640587c65bf49e2a0e1e9cd1f2877630ba71 (patch)
treec4706c8249398c4bba8b017f8df1260f8eef1ae0
parentf17961cdd3a66dcfb16e45c244c31fff7b3bf7d6 (diff)
parent51bb4b487f2079ca44ef862d69d271ea5d8b457d (diff)
Merge "Revert "Added update device info playback configuration""
-rw-r--r--core/api/current.txt1
-rw-r--r--media/java/android/media/AudioPlaybackConfiguration.java65
-rw-r--r--media/java/android/media/AudioTrack.java27
-rw-r--r--media/java/android/media/HwAudioSource.java26
-rwxr-xr-xmedia/java/android/media/IAudioService.aidl2
-rw-r--r--media/java/android/media/MediaPlayer.java87
-rw-r--r--media/java/android/media/PlayerBase.java39
-rw-r--r--media/java/android/media/SoundPool.java3
-rw-r--r--services/core/java/com/android/server/audio/AudioService.java10
-rw-r--r--services/core/java/com/android/server/audio/PlaybackActivityMonitor.java28
10 files changed, 45 insertions, 243 deletions
diff --git a/core/api/current.txt b/core/api/current.txt
index 2cde77e6914a..897db39d25de 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -19932,7 +19932,6 @@ package android.media {
public final class AudioPlaybackConfiguration implements android.os.Parcelable {
method public int describeContents();
method public android.media.AudioAttributes getAudioAttributes();
- method @Nullable public android.media.AudioDeviceInfo getAudioDevice();
method public void writeToParcel(android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioPlaybackConfiguration> CREATOR;
}
diff --git a/media/java/android/media/AudioPlaybackConfiguration.java b/media/java/android/media/AudioPlaybackConfiguration.java
index b9f449c20677..17305a501cd0 100644
--- a/media/java/android/media/AudioPlaybackConfiguration.java
+++ b/media/java/android/media/AudioPlaybackConfiguration.java
@@ -21,7 +21,6 @@ import static android.media.AudioAttributes.ALLOW_CAPTURE_BY_NONE;
import android.annotation.IntDef;
import android.annotation.NonNull;
-import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.os.Binder;
import android.os.IBinder;
@@ -48,8 +47,6 @@ public final class AudioPlaybackConfiguration implements Parcelable {
public static final int PLAYER_PIID_INVALID = -1;
/** @hide */
public static final int PLAYER_UPID_INVALID = -1;
- /** @hide */
- public static final int PLAYER_DEVICEID_INVALID = 0;
// information about the implementation
/**
@@ -161,11 +158,6 @@ public final class AudioPlaybackConfiguration implements Parcelable {
*/
@SystemApi
public static final int PLAYER_STATE_STOPPED = 4;
- /**
- * @hide
- * The state used to update device id, does not actually change the state of the player
- */
- public static final int PLAYER_UPDATE_DEVICE_ID = 5;
/** @hide */
@IntDef({
@@ -174,8 +166,7 @@ public final class AudioPlaybackConfiguration implements Parcelable {
PLAYER_STATE_IDLE,
PLAYER_STATE_STARTED,
PLAYER_STATE_PAUSED,
- PLAYER_STATE_STOPPED,
- PLAYER_UPDATE_DEVICE_ID
+ PLAYER_STATE_STOPPED
})
@Retention(RetentionPolicy.SOURCE)
public @interface PlayerState {}
@@ -193,8 +184,6 @@ public final class AudioPlaybackConfiguration implements Parcelable {
private int mPlayerState;
private AudioAttributes mPlayerAttr; // never null
- private int mDeviceId;
-
/**
* Never use without initializing parameters afterwards
*/
@@ -212,7 +201,6 @@ public final class AudioPlaybackConfiguration implements Parcelable {
mPlayerType = pic.mPlayerType;
mClientUid = uid;
mClientPid = pid;
- mDeviceId = PLAYER_DEVICEID_INVALID;
mPlayerState = PLAYER_STATE_IDLE;
mPlayerAttr = pic.mAttributes;
if ((sPlayerDeathMonitor != null) && (pic.mIPlayer != null)) {
@@ -253,7 +241,6 @@ public final class AudioPlaybackConfiguration implements Parcelable {
in.mPlayerAttr.getAllowedCapturePolicy() == ALLOW_CAPTURE_BY_ALL
? ALLOW_CAPTURE_BY_ALL : ALLOW_CAPTURE_BY_NONE)
.build();
- anonymCopy.mDeviceId = in.mDeviceId;
// anonymized data
anonymCopy.mPlayerType = PLAYER_TYPE_UNKNOWN;
anonymCopy.mClientUid = PLAYER_UPID_INVALID;
@@ -291,25 +278,6 @@ public final class AudioPlaybackConfiguration implements Parcelable {
}
/**
- * Returns information about the {@link AudioDeviceInfo} used for this playback.
- * @return the audio playback device or null if the device is not available at the time of query
- */
- public @Nullable AudioDeviceInfo getAudioDevice() {
- if (mDeviceId == PLAYER_DEVICEID_INVALID) {
- return null;
- }
- // TODO(175802592): change this to AudioManager.getDeviceForPortId() when available
- AudioDeviceInfo[] devices =
- AudioManager.getDevicesStatic(AudioManager.GET_DEVICES_OUTPUTS);
- for (int i = 0; i < devices.length; i++) {
- if (devices[i].getId() == mDeviceId) {
- return devices[i];
- }
- }
- return null;
- }
-
- /**
* @hide
* Return the type of player linked to this configuration.
* <br>Note that player types not exposed in the system API will be represented as
@@ -391,29 +359,13 @@ public final class AudioPlaybackConfiguration implements Parcelable {
* @hide
* Handle a player state change
* @param event
- * @param deviceId active device id or {@Code PLAYER_DEVICEID_INVALID}
- * <br>Note device id is valid for {@code PLAYER_UPDATE_DEVICE_ID} or
- * <br>{@code PLAYER_STATE_STARTED} events, as the device id will be reset to none when
- * <br>pausing or stopping playback. It will be set to active device when playback starts or
- * <br>it will be changed when PLAYER_UPDATE_DEVICE_ID is sent. The latter can happen if the
- * <br>device changes in the middle of playback.
* @return true if the state changed, false otherwise
*/
- public boolean handleStateEvent(int event, int deviceId) {
- boolean changed = false;
+ public boolean handleStateEvent(int event) {
+ final boolean changed;
synchronized (this) {
-
- // Do not update if it is only device id update
- if (event != PLAYER_UPDATE_DEVICE_ID) {
- changed = (mPlayerState != event);
- mPlayerState = event;
- }
-
- if (event == PLAYER_STATE_STARTED || event == PLAYER_UPDATE_DEVICE_ID) {
- changed = changed || (mDeviceId != deviceId);
- mDeviceId = deviceId;
- }
-
+ changed = (mPlayerState != event);
+ mPlayerState = event;
if (changed && (event == PLAYER_STATE_RELEASED) && (mIPlayerShell != null)) {
mIPlayerShell.release();
mIPlayerShell = null;
@@ -484,7 +436,7 @@ public final class AudioPlaybackConfiguration implements Parcelable {
@Override
public int hashCode() {
- return Objects.hash(mPlayerIId, mDeviceId, mPlayerType, mClientUid, mClientPid);
+ return Objects.hash(mPlayerIId, mPlayerType, mClientUid, mClientPid);
}
@Override
@@ -495,7 +447,6 @@ public final class AudioPlaybackConfiguration implements Parcelable {
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(mPlayerIId);
- dest.writeInt(mDeviceId);
dest.writeInt(mPlayerType);
dest.writeInt(mClientUid);
dest.writeInt(mClientPid);
@@ -510,7 +461,6 @@ public final class AudioPlaybackConfiguration implements Parcelable {
private AudioPlaybackConfiguration(Parcel in) {
mPlayerIId = in.readInt();
- mDeviceId = in.readInt();
mPlayerType = in.readInt();
mClientUid = in.readInt();
mClientPid = in.readInt();
@@ -528,7 +478,6 @@ public final class AudioPlaybackConfiguration implements Parcelable {
AudioPlaybackConfiguration that = (AudioPlaybackConfiguration) o;
return ((mPlayerIId == that.mPlayerIId)
- && (mDeviceId == that.mDeviceId)
&& (mPlayerType == that.mPlayerType)
&& (mClientUid == that.mClientUid)
&& (mClientPid == that.mClientPid));
@@ -537,7 +486,6 @@ public final class AudioPlaybackConfiguration implements Parcelable {
@Override
public String toString() {
return "AudioPlaybackConfiguration piid:" + mPlayerIId
- + " deviceId:" + mDeviceId
+ " type:" + toLogFriendlyPlayerType(mPlayerType)
+ " u/pid:" + mClientUid + "/" + mClientPid
+ " state:" + toLogFriendlyPlayerState(mPlayerState)
@@ -623,7 +571,6 @@ public final class AudioPlaybackConfiguration implements Parcelable {
case PLAYER_STATE_STARTED: return "started";
case PLAYER_STATE_PAUSED: return "paused";
case PLAYER_STATE_STOPPED: return "stopped";
- case PLAYER_UPDATE_DEVICE_ID: return "device";
default:
return "unknown player state - FIXME";
}
diff --git a/media/java/android/media/AudioTrack.java b/media/java/android/media/AudioTrack.java
index e9a18e982ccc..e3b6fba18eb0 100644
--- a/media/java/android/media/AudioTrack.java
+++ b/media/java/android/media/AudioTrack.java
@@ -1824,7 +1824,6 @@ public class AudioTrack extends PlayerBase
@Override
protected void finalize() {
- tryToDisableNativeRoutingCallback();
baseRelease();
native_finalize();
}
@@ -2718,15 +2717,9 @@ public class AudioTrack extends PlayerBase
}
private void startImpl() {
- synchronized (mRoutingChangeListeners) {
- if (!mEnableSelfRoutingMonitor) {
- testEnableNativeRoutingCallbacksLocked();
- mEnableSelfRoutingMonitor = true;
- }
- }
synchronized(mPlayStateLock) {
+ baseStart();
native_start();
- baseStart(native_getRoutedDeviceId());
if (mPlayState == PLAYSTATE_PAUSED_STOPPING) {
mPlayState = PLAYSTATE_STOPPING;
} else {
@@ -2764,7 +2757,6 @@ public class AudioTrack extends PlayerBase
mPlayStateLock.notify();
}
}
- tryToDisableNativeRoutingCallback();
}
/**
@@ -3504,21 +3496,12 @@ public class AudioTrack extends PlayerBase
return null;
}
- private void tryToDisableNativeRoutingCallback() {
- synchronized (mRoutingChangeListeners) {
- if (mEnableSelfRoutingMonitor) {
- mEnableSelfRoutingMonitor = false;
- testDisableNativeRoutingCallbacksLocked();
- }
- }
- }
-
/*
* Call BEFORE adding a routing callback handler.
*/
@GuardedBy("mRoutingChangeListeners")
private void testEnableNativeRoutingCallbacksLocked() {
- if (mRoutingChangeListeners.size() == 0 && !mEnableSelfRoutingMonitor) {
+ if (mRoutingChangeListeners.size() == 0) {
native_enableDeviceCallback();
}
}
@@ -3528,7 +3511,7 @@ public class AudioTrack extends PlayerBase
*/
@GuardedBy("mRoutingChangeListeners")
private void testDisableNativeRoutingCallbacksLocked() {
- if (mRoutingChangeListeners.size() == 0 && !mEnableSelfRoutingMonitor) {
+ if (mRoutingChangeListeners.size() == 0) {
native_disableDeviceCallback();
}
}
@@ -3545,9 +3528,6 @@ public class AudioTrack extends PlayerBase
private ArrayMap<AudioRouting.OnRoutingChangedListener,
NativeRoutingEventHandlerDelegate> mRoutingChangeListeners = new ArrayMap<>();
- @GuardedBy("mRoutingChangeListeners")
- private boolean mEnableSelfRoutingMonitor;
-
/**
* Adds an {@link AudioRouting.OnRoutingChangedListener} to receive notifications of routing
* changes on this AudioTrack.
@@ -3647,7 +3627,6 @@ public class AudioTrack extends PlayerBase
*/
private void broadcastRoutingChange() {
AudioManager.resetAudioPortGeneration();
- baseUpdateDeviceId(getRoutedDevice());
synchronized (mRoutingChangeListeners) {
for (NativeRoutingEventHandlerDelegate delegate : mRoutingChangeListeners.values()) {
delegate.notifyClient();
diff --git a/media/java/android/media/HwAudioSource.java b/media/java/android/media/HwAudioSource.java
index bbf632a406ec..01a02f1d9f05 100644
--- a/media/java/android/media/HwAudioSource.java
+++ b/media/java/android/media/HwAudioSource.java
@@ -22,8 +22,6 @@ import android.annotation.SystemApi;
import com.android.internal.util.Preconditions;
-import java.util.ArrayList;
-
/**
* The HwAudioSource represents the audio playback directly from a source audio device.
* It currently supports {@link HwAudioSource#start()} and {@link HwAudioSource#stop()} only
@@ -132,32 +130,10 @@ public class HwAudioSource extends PlayerBase {
*/
public void start() {
Preconditions.checkState(!isPlaying(), "HwAudioSource is currently playing");
+ baseStart();
mNativeHandle = AudioSystem.startAudioSource(
mAudioDeviceInfo.getPort().activeConfig(),
mAudioAttributes);
- // FIXME: b/174876389 clean up device id reporting
- baseStart(getDeviceId());
- }
-
- private int getDeviceId() {
- ArrayList<AudioPatch> patches = new ArrayList<AudioPatch>();
- if (AudioManager.listAudioPatches(patches) != AudioManager.SUCCESS) {
- return 0;
- }
-
- for (int i = 0; i < patches.size(); i++) {
- AudioPatch patch = patches.get(i);
- AudioPortConfig[] sources = patch.sources();
- AudioPortConfig[] sinks = patch.sinks();
- if ((sources != null) && (sources.length > 0)) {
- for (int c = 0; c < sources.length; c++) {
- if (sources[c].port().id() == mAudioDeviceInfo.getId()) {
- return sinks[c].port().id();
- }
- }
- }
- }
- return 0;
}
/**
diff --git a/media/java/android/media/IAudioService.aidl b/media/java/android/media/IAudioService.aidl
index b6bb3a3df38b..bad0d19b723e 100755
--- a/media/java/android/media/IAudioService.aidl
+++ b/media/java/android/media/IAudioService.aidl
@@ -63,7 +63,7 @@ interface IAudioService {
oneway void playerAttributes(in int piid, in AudioAttributes attr);
- oneway void playerEvent(in int piid, in int event, in int deviceId);
+ oneway void playerEvent(in int piid, in int event);
oneway void releasePlayer(in int piid);
diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java
index ceac2c9d5e05..f8311cd580a9 100644
--- a/media/java/android/media/MediaPlayer.java
+++ b/media/java/android/media/MediaPlayer.java
@@ -1352,6 +1352,7 @@ public class MediaPlayer extends PlayerBase
}
private void startImpl() {
+ baseStart();
stayAwake(true);
_start();
}
@@ -1377,6 +1378,7 @@ public class MediaPlayer extends PlayerBase
public void stop() throws IllegalStateException {
stayAwake(false);
_stop();
+ baseStop();
}
private native void _stop() throws IllegalStateException;
@@ -1390,6 +1392,7 @@ public class MediaPlayer extends PlayerBase
public void pause() throws IllegalStateException {
stayAwake(false);
_pause();
+ basePause();
}
private native void _pause() throws IllegalStateException;
@@ -1494,60 +1497,13 @@ public class MediaPlayer extends PlayerBase
return null;
}
-
- /**
- * Sends device list change notification to all listeners.
- */
- private void broadcastRoutingChange() {
- AudioManager.resetAudioPortGeneration();
- synchronized (mRoutingChangeListeners) {
- // Prevent the case where an event is triggered by registering a routing change
- // listener via the media player.
- if (mEnableSelfRoutingMonitor) {
- baseUpdateDeviceId(getRoutedDevice());
- }
- for (NativeRoutingEventHandlerDelegate delegate
- : mRoutingChangeListeners.values()) {
- delegate.notifyClient();
- }
- }
- }
-
/*
- * Call BEFORE adding a routing callback handler.
+ * Call BEFORE adding a routing callback handler or AFTER removing a routing callback handler.
*/
@GuardedBy("mRoutingChangeListeners")
- private void testEnableNativeRoutingCallbacksLocked() {
- if (mRoutingChangeListeners.size() == 0 && !mEnableSelfRoutingMonitor) {
- native_enableDeviceCallback(true);
- }
- }
-
- private void tryToEnableNativeRoutingCallback() {
- synchronized (mRoutingChangeListeners) {
- if (!mEnableSelfRoutingMonitor) {
- testEnableNativeRoutingCallbacksLocked();
- mEnableSelfRoutingMonitor = true;
- }
- }
- }
-
- private void tryToDisableNativeRoutingCallback() {
- synchronized (mRoutingChangeListeners) {
- if (mEnableSelfRoutingMonitor) {
- mEnableSelfRoutingMonitor = false;
- testDisableNativeRoutingCallbacksLocked();
- }
- }
- }
-
- /*
- * Call AFTER removing a routing callback handler.
- */
- @GuardedBy("mRoutingChangeListeners")
- private void testDisableNativeRoutingCallbacksLocked() {
- if (mRoutingChangeListeners.size() == 0 && !mEnableSelfRoutingMonitor) {
- native_enableDeviceCallback(false);
+ private void enableNativeRoutingCallbacksLocked(boolean enabled) {
+ if (mRoutingChangeListeners.size() == 0) {
+ native_enableDeviceCallback(enabled);
}
}
@@ -1560,9 +1516,6 @@ public class MediaPlayer extends PlayerBase
private ArrayMap<AudioRouting.OnRoutingChangedListener,
NativeRoutingEventHandlerDelegate> mRoutingChangeListeners = new ArrayMap<>();
- @GuardedBy("mRoutingChangeListeners")
- private boolean mEnableSelfRoutingMonitor;
-
/**
* Adds an {@link AudioRouting.OnRoutingChangedListener} to receive notifications of routing
* changes on this MediaPlayer.
@@ -1576,7 +1529,7 @@ public class MediaPlayer extends PlayerBase
Handler handler) {
synchronized (mRoutingChangeListeners) {
if (listener != null && !mRoutingChangeListeners.containsKey(listener)) {
- testEnableNativeRoutingCallbacksLocked();
+ enableNativeRoutingCallbacksLocked(true);
mRoutingChangeListeners.put(
listener, new NativeRoutingEventHandlerDelegate(this, listener,
handler != null ? handler : mEventHandler));
@@ -1595,8 +1548,8 @@ public class MediaPlayer extends PlayerBase
synchronized (mRoutingChangeListeners) {
if (mRoutingChangeListeners.containsKey(listener)) {
mRoutingChangeListeners.remove(listener);
+ enableNativeRoutingCallbacksLocked(false);
}
- testDisableNativeRoutingCallbacksLocked();
}
}
@@ -3348,7 +3301,6 @@ public class MediaPlayer extends PlayerBase
@Override
protected void finalize() {
- tryToDisableNativeRoutingCallback();
baseRelease();
native_finalize();
}
@@ -3463,8 +3415,6 @@ public class MediaPlayer extends PlayerBase
case MEDIA_STOPPED:
{
- tryToDisableNativeRoutingCallback();
- baseStop();
TimeProvider timeProvider = mTimeProvider;
if (timeProvider != null) {
timeProvider.onStopped();
@@ -3473,16 +3423,8 @@ public class MediaPlayer extends PlayerBase
break;
case MEDIA_STARTED:
- {
- baseStart(native_getRoutedDeviceId());
- tryToEnableNativeRoutingCallback();
- }
- // fall through
case MEDIA_PAUSED:
{
- if (msg.what == MEDIA_PAUSED) {
- basePause();
- }
TimeProvider timeProvider = mTimeProvider;
if (timeProvider != null) {
timeProvider.onPaused(msg.what == MEDIA_PAUSED);
@@ -3648,8 +3590,14 @@ public class MediaPlayer extends PlayerBase
break;
case MEDIA_AUDIO_ROUTING_CHANGED:
- broadcastRoutingChange();
- return;
+ AudioManager.resetAudioPortGeneration();
+ synchronized (mRoutingChangeListeners) {
+ for (NativeRoutingEventHandlerDelegate delegate
+ : mRoutingChangeListeners.values()) {
+ delegate.notifyClient();
+ }
+ }
+ return;
case MEDIA_TIME_DISCONTINUITY:
final OnMediaTimeDiscontinuityListener mediaTimeListener;
@@ -3855,7 +3803,6 @@ public class MediaPlayer extends PlayerBase
@Override
public void onCompletion(MediaPlayer mp) {
baseStop();
- tryToDisableNativeRoutingCallback();
}
};
diff --git a/media/java/android/media/PlayerBase.java b/media/java/android/media/PlayerBase.java
index 58ae279d4df1..da69c6cbbb5c 100644
--- a/media/java/android/media/PlayerBase.java
+++ b/media/java/android/media/PlayerBase.java
@@ -90,8 +90,6 @@ public abstract class PlayerBase {
private float mPanMultiplierR = 1.0f;
@GuardedBy("mLock")
private float mVolMultiplier = 1.0f;
- @GuardedBy("mLock")
- private int mDeviceId;
/**
* Constructor. Must be given audio attributes, as they are required for AppOps.
@@ -154,35 +152,14 @@ public abstract class PlayerBase {
}
}
- void baseUpdateDeviceId(@Nullable AudioDeviceInfo deviceInfo) {
- int deviceId = 0;
- if (deviceInfo != null) {
- deviceId = deviceInfo.getId();
- }
- int piid;
- synchronized (mLock) {
- piid = mPlayerIId;
- mDeviceId = deviceId;
- }
- try {
- getService().playerEvent(piid,
- AudioPlaybackConfiguration.PLAYER_UPDATE_DEVICE_ID, deviceId);
- } catch (RemoteException e) {
- Log.e(TAG, "Error talking to audio service, "
- + deviceId
- + " device id will not be tracked for piid=" + piid, e);
- }
- }
-
- private void updateState(int state, int deviceId) {
+ private void updateState(int state) {
final int piid;
synchronized (mLock) {
mState = state;
piid = mPlayerIId;
- mDeviceId = deviceId;
}
try {
- getService().playerEvent(piid, state, deviceId);
+ getService().playerEvent(piid, state);
} catch (RemoteException e) {
Log.e(TAG, "Error talking to audio service, "
+ AudioPlaybackConfiguration.toLogFriendlyPlayerState(state)
@@ -190,11 +167,9 @@ public abstract class PlayerBase {
}
}
- void baseStart(int deviceId) {
- if (DEBUG) {
- Log.v(TAG, "baseStart() piid=" + mPlayerIId + " deviceId=" + deviceId);
- }
- updateState(AudioPlaybackConfiguration.PLAYER_STATE_STARTED, deviceId);
+ void baseStart() {
+ if (DEBUG) { Log.v(TAG, "baseStart() piid=" + mPlayerIId); }
+ updateState(AudioPlaybackConfiguration.PLAYER_STATE_STARTED);
synchronized (mLock) {
if (isRestricted_sync()) {
playerSetVolume(true/*muting*/,0, 0);
@@ -216,12 +191,12 @@ public abstract class PlayerBase {
void basePause() {
if (DEBUG) { Log.v(TAG, "basePause() piid=" + mPlayerIId); }
- updateState(AudioPlaybackConfiguration.PLAYER_STATE_PAUSED, 0);
+ updateState(AudioPlaybackConfiguration.PLAYER_STATE_PAUSED);
}
void baseStop() {
if (DEBUG) { Log.v(TAG, "baseStop() piid=" + mPlayerIId); }
- updateState(AudioPlaybackConfiguration.PLAYER_STATE_STOPPED, 0);
+ updateState(AudioPlaybackConfiguration.PLAYER_STATE_STOPPED);
}
void baseSetPan(float pan) {
diff --git a/media/java/android/media/SoundPool.java b/media/java/android/media/SoundPool.java
index 797caf36203b..3f685a4c934e 100644
--- a/media/java/android/media/SoundPool.java
+++ b/media/java/android/media/SoundPool.java
@@ -303,8 +303,7 @@ public class SoundPool extends PlayerBase {
*/
public final int play(int soundID, float leftVolume, float rightVolume,
int priority, int loop, float rate) {
- // FIXME: b/174876164 implement device id for soundpool
- baseStart(0);
+ baseStart();
return _play(soundID, leftVolume, rightVolume, priority, loop, rate);
}
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
index 4444de0c00c4..ada67b1d59af 100644
--- a/services/core/java/com/android/server/audio/AudioService.java
+++ b/services/core/java/com/android/server/audio/AudioService.java
@@ -8906,14 +8906,8 @@ public class AudioService extends IAudioService.Stub
mPlaybackMonitor.playerAttributes(piid, attr, Binder.getCallingUid());
}
- /**
- * Update player event
- * @param piid Player id to update
- * @param event The new player event
- * @param deviceId The new player device id
- */
- public void playerEvent(int piid, int event, int deviceId) {
- mPlaybackMonitor.playerEvent(piid, event, deviceId, Binder.getCallingUid());
+ public void playerEvent(int piid, int event) {
+ mPlaybackMonitor.playerEvent(piid, event, Binder.getCallingUid());
}
public void playerHasOpPlayAudio(int piid, boolean hasOpPlayAudio) {
diff --git a/services/core/java/com/android/server/audio/PlaybackActivityMonitor.java b/services/core/java/com/android/server/audio/PlaybackActivityMonitor.java
index 36c67cdbac4b..a5778836aa6e 100644
--- a/services/core/java/com/android/server/audio/PlaybackActivityMonitor.java
+++ b/services/core/java/com/android/server/audio/PlaybackActivityMonitor.java
@@ -233,25 +233,15 @@ public final class PlaybackActivityMonitor
}
}
- /**
- * Update player event
- * @param piid Player id to update
- * @param event The new player event
- * @param deviceId The new player device id
- * @param binderUid Calling binder uid
- */
- public void playerEvent(int piid, int event, int deviceId, int binderUid) {
- if (DEBUG) {
- Log.v(TAG, String.format("playerEvent(piid=%d, deviceId=%d, event=%d)",
- piid, deviceId, event));
- }
+ public void playerEvent(int piid, int event, int binderUid) {
+ if (DEBUG) { Log.v(TAG, String.format("playerEvent(piid=%d, event=%d)", piid, event)); }
final boolean change;
synchronized(mPlayerLock) {
final AudioPlaybackConfiguration apc = mPlayers.get(new Integer(piid));
if (apc == null) {
return;
}
- sEventLogger.log(new PlayerEvent(piid, event, deviceId));
+ sEventLogger.log(new PlayerEvent(piid, event));
if (event == AudioPlaybackConfiguration.PLAYER_STATE_STARTED) {
for (Integer uidInteger: mBannedUids) {
if (checkBanPlayer(apc, uidInteger.intValue())) {
@@ -269,7 +259,7 @@ public final class PlaybackActivityMonitor
if (checkConfigurationCaller(piid, apc, binderUid)) {
//TODO add generation counter to only update to the latest state
checkVolumeForPrivilegedAlarm(apc, event);
- change = apc.handleStateEvent(event, deviceId);
+ change = apc.handleStateEvent(event);
} else {
Log.e(TAG, "Error handling event " + event);
change = false;
@@ -299,8 +289,7 @@ public final class PlaybackActivityMonitor
mPlayers.remove(new Integer(piid));
mDuckingManager.removeReleased(apc);
checkVolumeForPrivilegedAlarm(apc, AudioPlaybackConfiguration.PLAYER_STATE_RELEASED);
- change = apc.handleStateEvent(AudioPlaybackConfiguration.PLAYER_STATE_RELEASED,
- AudioPlaybackConfiguration.PLAYER_DEVICEID_INVALID);
+ change = apc.handleStateEvent(AudioPlaybackConfiguration.PLAYER_STATE_RELEASED);
}
}
if (change) {
@@ -879,19 +868,16 @@ public final class PlaybackActivityMonitor
// only keeping the player interface ID as it uniquely identifies the player in the event
final int mPlayerIId;
final int mState;
- final int mDeviceId;
- PlayerEvent(int piid, int state, int deviceId) {
+ PlayerEvent(int piid, int state) {
mPlayerIId = piid;
mState = state;
- mDeviceId = deviceId;
}
@Override
public String eventToString() {
return new StringBuilder("player piid:").append(mPlayerIId).append(" state:")
- .append(AudioPlaybackConfiguration.toLogFriendlyPlayerState(mState))
- .append(" DeviceId:").append(mDeviceId).toString();
+ .append(AudioPlaybackConfiguration.toLogFriendlyPlayerState(mState)).toString();
}
}