Loading media/libaaudio/src/client/AudioStreamInternal.cpp +8 −1 Original line number Diff line number Diff line Loading @@ -100,8 +100,9 @@ aaudio_result_t AudioStreamInternal::open(const AudioStreamBuilder &builder) { const int32_t burstMinMicros = AAudioProperty_getHardwareBurstMinMicros(); int32_t burstMicros = 0; const audio_format_t requestedFormat = getFormat(); // We have to do volume scaling. So we prefer FLOAT format. if (getFormat() == AUDIO_FORMAT_DEFAULT) { if (requestedFormat == AUDIO_FORMAT_DEFAULT) { setFormat(AUDIO_FORMAT_PCM_FLOAT); } // Request FLOAT for the shared mixer or the device. Loading Loading @@ -156,6 +157,12 @@ aaudio_result_t AudioStreamInternal::open(const AudioStreamBuilder &builder) { mMetricsId = std::string(AMEDIAMETRICS_KEY_PREFIX_AUDIO_STREAM) + std::to_string(mServiceStreamHandle); android::mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_PERFORMANCEMODE, AudioGlobal_convertPerformanceModeToText(getPerformanceMode())) .set(AMEDIAMETRICS_PROP_ENCODINGCLIENT, android::toString(requestedFormat).c_str()).record(); result = configurationOutput.validate(); if (result != AAUDIO_OK) { goto error; Loading media/libaaudio/src/core/AudioStream.cpp +3 −12 Original line number Diff line number Diff line Loading @@ -56,16 +56,6 @@ AudioStream::~AudioStream() { ALOGE_IF(mHasThread, "%s() callback thread never join()ed", __func__); if (!mMetricsId.empty()) { android::mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_ENDAAUDIOSTREAM) .set(AMEDIAMETRICS_PROP_ENCODINGREQUESTED, android::toString(mDeviceFormat).c_str()) .set(AMEDIAMETRICS_PROP_PERFORMANCEMODEACTUAL, AudioGlobal_convertPerformanceModeToText(getPerformanceMode())) .record(); } // If the stream is deleted when OPEN or in use then audio resources will leak. // This would indicate an internal error. So we want to find this ASAP. LOG_ALWAYS_FATAL_IF(!(getState() == AAUDIO_STREAM_STATE_CLOSED Loading Loading @@ -121,11 +111,11 @@ aaudio_result_t AudioStream::open(const AudioStreamBuilder& builder) return AAUDIO_OK; } void AudioStream::logOpen() { void AudioStream::logOpenActual() { if (mMetricsId.size() > 0) { android::mediametrics::LogItem item(mMetricsId); item.set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_OPEN) .set(AMEDIAMETRICS_PROP_PERFORMANCEMODE, .set(AMEDIAMETRICS_PROP_PERFORMANCEMODEACTUAL, AudioGlobal_convertPerformanceModeToText(getPerformanceMode())) .set(AMEDIAMETRICS_PROP_SHARINGMODE, AudioGlobal_convertSharingModeToText(getSharingMode())) Loading Loading @@ -359,6 +349,7 @@ void AudioStream::close_l() { .set(AMEDIAMETRICS_PROP_FRAMESTRANSFERRED, getDirection() == AAUDIO_DIRECTION_INPUT ? getFramesWritten() : getFramesRead()) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_ENDAAUDIOSTREAM) .record(); } } Loading media/libaaudio/src/core/AudioStream.h +1 −1 Original line number Diff line number Diff line Loading @@ -118,7 +118,7 @@ public: virtual aaudio_result_t open(const AudioStreamBuilder& builder); // log to MediaMetrics virtual void logOpen(); virtual void logOpenActual(); void logReleaseBufferState(); /* Note about naming for "release" and "close" related methods. Loading media/libaaudio/src/core/AudioStreamBuilder.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -189,7 +189,7 @@ aaudio_result_t AudioStreamBuilder::build(AudioStream** streamPtr) { } if (result == AAUDIO_OK) { audioStream->registerPlayerBase(); audioStream->logOpen(); audioStream->logOpenActual(); *streamPtr = startUsingStream(audioStream); } // else audioStream will go out of scope and be deleted } Loading media/libaaudio/src/legacy/AudioStreamRecord.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ #include <media/AudioRecord.h> #include <utils/String16.h> #include "core/AudioGlobal.h" #include "legacy/AudioStreamLegacy.h" #include "legacy/AudioStreamRecord.h" #include "utility/AudioClock.h" Loading Loading @@ -92,8 +93,9 @@ aaudio_result_t AudioStreamRecord::open(const AudioStreamBuilder& builder) break; } const audio_format_t requestedFormat = getFormat(); // Preserve behavior of API 26 if (getFormat() == AUDIO_FORMAT_DEFAULT) { if (requestedFormat == AUDIO_FORMAT_DEFAULT) { setFormat(AUDIO_FORMAT_PCM_FLOAT); } Loading Loading @@ -217,6 +219,10 @@ aaudio_result_t AudioStreamRecord::open(const AudioStreamBuilder& builder) mMetricsId = std::string(AMEDIAMETRICS_KEY_PREFIX_AUDIO_RECORD) + std::to_string(mAudioRecord->getPortId()); android::mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_PERFORMANCEMODE, AudioGlobal_convertPerformanceModeToText(getPerformanceMode())) .set(AMEDIAMETRICS_PROP_ENCODINGCLIENT, toString(requestedFormat).c_str()).record(); // Get the actual values from the AudioRecord. setSamplesPerFrame(mAudioRecord->channelCount()); Loading Loading
media/libaaudio/src/client/AudioStreamInternal.cpp +8 −1 Original line number Diff line number Diff line Loading @@ -100,8 +100,9 @@ aaudio_result_t AudioStreamInternal::open(const AudioStreamBuilder &builder) { const int32_t burstMinMicros = AAudioProperty_getHardwareBurstMinMicros(); int32_t burstMicros = 0; const audio_format_t requestedFormat = getFormat(); // We have to do volume scaling. So we prefer FLOAT format. if (getFormat() == AUDIO_FORMAT_DEFAULT) { if (requestedFormat == AUDIO_FORMAT_DEFAULT) { setFormat(AUDIO_FORMAT_PCM_FLOAT); } // Request FLOAT for the shared mixer or the device. Loading Loading @@ -156,6 +157,12 @@ aaudio_result_t AudioStreamInternal::open(const AudioStreamBuilder &builder) { mMetricsId = std::string(AMEDIAMETRICS_KEY_PREFIX_AUDIO_STREAM) + std::to_string(mServiceStreamHandle); android::mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_PERFORMANCEMODE, AudioGlobal_convertPerformanceModeToText(getPerformanceMode())) .set(AMEDIAMETRICS_PROP_ENCODINGCLIENT, android::toString(requestedFormat).c_str()).record(); result = configurationOutput.validate(); if (result != AAUDIO_OK) { goto error; Loading
media/libaaudio/src/core/AudioStream.cpp +3 −12 Original line number Diff line number Diff line Loading @@ -56,16 +56,6 @@ AudioStream::~AudioStream() { ALOGE_IF(mHasThread, "%s() callback thread never join()ed", __func__); if (!mMetricsId.empty()) { android::mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_ENDAAUDIOSTREAM) .set(AMEDIAMETRICS_PROP_ENCODINGREQUESTED, android::toString(mDeviceFormat).c_str()) .set(AMEDIAMETRICS_PROP_PERFORMANCEMODEACTUAL, AudioGlobal_convertPerformanceModeToText(getPerformanceMode())) .record(); } // If the stream is deleted when OPEN or in use then audio resources will leak. // This would indicate an internal error. So we want to find this ASAP. LOG_ALWAYS_FATAL_IF(!(getState() == AAUDIO_STREAM_STATE_CLOSED Loading Loading @@ -121,11 +111,11 @@ aaudio_result_t AudioStream::open(const AudioStreamBuilder& builder) return AAUDIO_OK; } void AudioStream::logOpen() { void AudioStream::logOpenActual() { if (mMetricsId.size() > 0) { android::mediametrics::LogItem item(mMetricsId); item.set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_OPEN) .set(AMEDIAMETRICS_PROP_PERFORMANCEMODE, .set(AMEDIAMETRICS_PROP_PERFORMANCEMODEACTUAL, AudioGlobal_convertPerformanceModeToText(getPerformanceMode())) .set(AMEDIAMETRICS_PROP_SHARINGMODE, AudioGlobal_convertSharingModeToText(getSharingMode())) Loading Loading @@ -359,6 +349,7 @@ void AudioStream::close_l() { .set(AMEDIAMETRICS_PROP_FRAMESTRANSFERRED, getDirection() == AAUDIO_DIRECTION_INPUT ? getFramesWritten() : getFramesRead()) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_ENDAAUDIOSTREAM) .record(); } } Loading
media/libaaudio/src/core/AudioStream.h +1 −1 Original line number Diff line number Diff line Loading @@ -118,7 +118,7 @@ public: virtual aaudio_result_t open(const AudioStreamBuilder& builder); // log to MediaMetrics virtual void logOpen(); virtual void logOpenActual(); void logReleaseBufferState(); /* Note about naming for "release" and "close" related methods. Loading
media/libaaudio/src/core/AudioStreamBuilder.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -189,7 +189,7 @@ aaudio_result_t AudioStreamBuilder::build(AudioStream** streamPtr) { } if (result == AAUDIO_OK) { audioStream->registerPlayerBase(); audioStream->logOpen(); audioStream->logOpenActual(); *streamPtr = startUsingStream(audioStream); } // else audioStream will go out of scope and be deleted } Loading
media/libaaudio/src/legacy/AudioStreamRecord.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ #include <media/AudioRecord.h> #include <utils/String16.h> #include "core/AudioGlobal.h" #include "legacy/AudioStreamLegacy.h" #include "legacy/AudioStreamRecord.h" #include "utility/AudioClock.h" Loading Loading @@ -92,8 +93,9 @@ aaudio_result_t AudioStreamRecord::open(const AudioStreamBuilder& builder) break; } const audio_format_t requestedFormat = getFormat(); // Preserve behavior of API 26 if (getFormat() == AUDIO_FORMAT_DEFAULT) { if (requestedFormat == AUDIO_FORMAT_DEFAULT) { setFormat(AUDIO_FORMAT_PCM_FLOAT); } Loading Loading @@ -217,6 +219,10 @@ aaudio_result_t AudioStreamRecord::open(const AudioStreamBuilder& builder) mMetricsId = std::string(AMEDIAMETRICS_KEY_PREFIX_AUDIO_RECORD) + std::to_string(mAudioRecord->getPortId()); android::mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_PERFORMANCEMODE, AudioGlobal_convertPerformanceModeToText(getPerformanceMode())) .set(AMEDIAMETRICS_PROP_ENCODINGCLIENT, toString(requestedFormat).c_str()).record(); // Get the actual values from the AudioRecord. setSamplesPerFrame(mAudioRecord->channelCount()); Loading