Loading media/libaudioclient/AudioTrack.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -1857,6 +1857,7 @@ status_t AudioTrack::createTrack_l() .set(AMEDIAMETRICS_PROP_FLAGS, toString(mFlags).c_str()) .set(AMEDIAMETRICS_PROP_ORIGINALFLAGS, toString(mOrigFlags).c_str()) .set(AMEDIAMETRICS_PROP_SESSIONID, (int32_t)mSessionId) .set(AMEDIAMETRICS_PROP_PLAYERIID, mPlayerIId) .set(AMEDIAMETRICS_PROP_TRACKID, mPortId) // dup from key .set(AMEDIAMETRICS_PROP_CONTENTTYPE, toString(mAttributes.content_type).c_str()) .set(AMEDIAMETRICS_PROP_USAGE, toString(mAttributes.usage).c_str()) Loading Loading @@ -3263,6 +3264,18 @@ uint32_t AudioTrack::getUnderrunFrames() const return mProxy->getUnderrunFrames(); } void AudioTrack::setPlayerIId(int playerIId) { AutoMutex lock(mLock); if (mPlayerIId == playerIId) return; mPlayerIId = playerIId; mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_SETPLAYERIID) .set(AMEDIAMETRICS_PROP_PLAYERIID, playerIId) .record(); } status_t AudioTrack::addAudioDeviceCallback(const sp<AudioSystem::AudioDeviceCallback>& callback) { Loading media/libaudioclient/include/media/AudioTrack.h +17 −0 Original line number Diff line number Diff line Loading @@ -986,6 +986,17 @@ public: */ audio_port_handle_t getPortId() const { return mPortId; }; /* Sets the playerIId field to associate the AudioTrack with an interface managed by * AudioService. * * If this value is not set, then the playerIId is reported as -1 * (not associated with an AudioService player interface). * * For metrics purposes, we keep the playerIId association in the native * client AudioTrack to improve the robustness under track restoration. */ void setPlayerIId(int playerIId); void setAudioTrackCallback(const sp<media::IAudioTrackCallback>& callback) { mAudioTrackCallback->setAudioTrackCallback(callback); } Loading Loading @@ -1255,6 +1266,12 @@ public: int mAuxEffectId; audio_port_handle_t mPortId; // Id from Audio Policy Manager /** * mPlayerIId is the player id of the AudioTrack used by AudioManager. * For an AudioTrack created by the Java interface, this is generally set once. */ int mPlayerIId = -1; // AudioManager.h PLAYER_PIID_INVALID mutable Mutex mLock; int mPreviousPriority; // before start() Loading media/libmediametrics/include/MediaMetricsConstants.h +2 −0 Original line number Diff line number Diff line Loading @@ -131,6 +131,7 @@ #define AMEDIAMETRICS_PROP_PERFORMANCEMODE "performanceMode" // string value, "none", lowLatency" #define AMEDIAMETRICS_PROP_PLAYBACK_PITCH "playback.pitch" // double value (AudioTrack) #define AMEDIAMETRICS_PROP_PLAYBACK_SPEED "playback.speed" // double value (AudioTrack) #define AMEDIAMETRICS_PROP_PLAYERIID "playerIId" // int32 (-1 invalid/unset IID) #define AMEDIAMETRICS_PROP_ROUTEDDEVICEID "routedDeviceId" // int32 #define AMEDIAMETRICS_PROP_SAMPLERATE "sampleRate" // int32 #define AMEDIAMETRICS_PROP_SELECTEDDEVICEID "selectedDeviceId" // int32 Loading Loading @@ -182,6 +183,7 @@ #define AMEDIAMETRICS_PROP_EVENT_VALUE_SETMODE "setMode" // AudioFlinger #define AMEDIAMETRICS_PROP_EVENT_VALUE_SETBUFFERSIZE "setBufferSize" // AudioTrack #define AMEDIAMETRICS_PROP_EVENT_VALUE_SETPLAYBACKPARAM "setPlaybackParam" // AudioTrack #define AMEDIAMETRICS_PROP_EVENT_VALUE_SETPLAYERIID "setPlayerIId" // AudioTrack #define AMEDIAMETRICS_PROP_EVENT_VALUE_SETVOICEVOLUME "setVoiceVolume" // AudioFlinger #define AMEDIAMETRICS_PROP_EVENT_VALUE_SETVOLUME "setVolume" // AudioTrack #define AMEDIAMETRICS_PROP_EVENT_VALUE_START "start" // AudioTrack, AudioRecord Loading Loading
media/libaudioclient/AudioTrack.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -1857,6 +1857,7 @@ status_t AudioTrack::createTrack_l() .set(AMEDIAMETRICS_PROP_FLAGS, toString(mFlags).c_str()) .set(AMEDIAMETRICS_PROP_ORIGINALFLAGS, toString(mOrigFlags).c_str()) .set(AMEDIAMETRICS_PROP_SESSIONID, (int32_t)mSessionId) .set(AMEDIAMETRICS_PROP_PLAYERIID, mPlayerIId) .set(AMEDIAMETRICS_PROP_TRACKID, mPortId) // dup from key .set(AMEDIAMETRICS_PROP_CONTENTTYPE, toString(mAttributes.content_type).c_str()) .set(AMEDIAMETRICS_PROP_USAGE, toString(mAttributes.usage).c_str()) Loading Loading @@ -3263,6 +3264,18 @@ uint32_t AudioTrack::getUnderrunFrames() const return mProxy->getUnderrunFrames(); } void AudioTrack::setPlayerIId(int playerIId) { AutoMutex lock(mLock); if (mPlayerIId == playerIId) return; mPlayerIId = playerIId; mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_SETPLAYERIID) .set(AMEDIAMETRICS_PROP_PLAYERIID, playerIId) .record(); } status_t AudioTrack::addAudioDeviceCallback(const sp<AudioSystem::AudioDeviceCallback>& callback) { Loading
media/libaudioclient/include/media/AudioTrack.h +17 −0 Original line number Diff line number Diff line Loading @@ -986,6 +986,17 @@ public: */ audio_port_handle_t getPortId() const { return mPortId; }; /* Sets the playerIId field to associate the AudioTrack with an interface managed by * AudioService. * * If this value is not set, then the playerIId is reported as -1 * (not associated with an AudioService player interface). * * For metrics purposes, we keep the playerIId association in the native * client AudioTrack to improve the robustness under track restoration. */ void setPlayerIId(int playerIId); void setAudioTrackCallback(const sp<media::IAudioTrackCallback>& callback) { mAudioTrackCallback->setAudioTrackCallback(callback); } Loading Loading @@ -1255,6 +1266,12 @@ public: int mAuxEffectId; audio_port_handle_t mPortId; // Id from Audio Policy Manager /** * mPlayerIId is the player id of the AudioTrack used by AudioManager. * For an AudioTrack created by the Java interface, this is generally set once. */ int mPlayerIId = -1; // AudioManager.h PLAYER_PIID_INVALID mutable Mutex mLock; int mPreviousPriority; // before start() Loading
media/libmediametrics/include/MediaMetricsConstants.h +2 −0 Original line number Diff line number Diff line Loading @@ -131,6 +131,7 @@ #define AMEDIAMETRICS_PROP_PERFORMANCEMODE "performanceMode" // string value, "none", lowLatency" #define AMEDIAMETRICS_PROP_PLAYBACK_PITCH "playback.pitch" // double value (AudioTrack) #define AMEDIAMETRICS_PROP_PLAYBACK_SPEED "playback.speed" // double value (AudioTrack) #define AMEDIAMETRICS_PROP_PLAYERIID "playerIId" // int32 (-1 invalid/unset IID) #define AMEDIAMETRICS_PROP_ROUTEDDEVICEID "routedDeviceId" // int32 #define AMEDIAMETRICS_PROP_SAMPLERATE "sampleRate" // int32 #define AMEDIAMETRICS_PROP_SELECTEDDEVICEID "selectedDeviceId" // int32 Loading Loading @@ -182,6 +183,7 @@ #define AMEDIAMETRICS_PROP_EVENT_VALUE_SETMODE "setMode" // AudioFlinger #define AMEDIAMETRICS_PROP_EVENT_VALUE_SETBUFFERSIZE "setBufferSize" // AudioTrack #define AMEDIAMETRICS_PROP_EVENT_VALUE_SETPLAYBACKPARAM "setPlaybackParam" // AudioTrack #define AMEDIAMETRICS_PROP_EVENT_VALUE_SETPLAYERIID "setPlayerIId" // AudioTrack #define AMEDIAMETRICS_PROP_EVENT_VALUE_SETVOICEVOLUME "setVoiceVolume" // AudioFlinger #define AMEDIAMETRICS_PROP_EVENT_VALUE_SETVOLUME "setVolume" // AudioTrack #define AMEDIAMETRICS_PROP_EVENT_VALUE_START "start" // AudioTrack, AudioRecord Loading