Loading camera/CameraMetadata.cpp +4 −22 Original line number Diff line number Diff line Loading @@ -17,9 +17,7 @@ // #define LOG_NDEBUG 0 #define LOG_TAG "Camera2-Metadata" #define ATRACE_TAG ATRACE_TAG_CAMERA #include <utils/Log.h> #include <utils/Trace.h> #include <utils/Errors.h> #include <binder/Parcel.h> Loading @@ -40,13 +38,11 @@ CameraMetadata::CameraMetadata() : CameraMetadata::CameraMetadata(size_t entryCapacity, size_t dataCapacity) : mLocked(false) { ATRACE_CALL(); mBuffer = allocate_camera_metadata(entryCapacity, dataCapacity); } CameraMetadata::CameraMetadata(const CameraMetadata &other) : mLocked(false) { ATRACE_CALL(); mBuffer = clone_camera_metadata(other.mBuffer); } Loading Loading @@ -117,7 +113,6 @@ camera_metadata_t* CameraMetadata::release() { } void CameraMetadata::clear() { ATRACE_CALL(); if (mLocked) { ALOGE("%s: CameraMetadata is locked", __FUNCTION__); return; Loading @@ -129,7 +124,6 @@ void CameraMetadata::clear() { } void CameraMetadata::acquire(camera_metadata_t *buffer) { ATRACE_CALL(); if (mLocked) { ALOGE("%s: CameraMetadata is locked", __FUNCTION__); return; Loading @@ -143,7 +137,6 @@ void CameraMetadata::acquire(camera_metadata_t *buffer) { } void CameraMetadata::acquire(CameraMetadata &other) { ATRACE_CALL(); if (mLocked) { ALOGE("%s: CameraMetadata is locked", __FUNCTION__); return; Loading @@ -152,12 +145,10 @@ void CameraMetadata::acquire(CameraMetadata &other) { } status_t CameraMetadata::append(const CameraMetadata &other) { ATRACE_CALL(); return append(other.mBuffer); } status_t CameraMetadata::append(const camera_metadata_t* other) { ATRACE_CALL(); if (mLocked) { ALOGE("%s: CameraMetadata is locked", __FUNCTION__); return INVALID_OPERATION; Loading @@ -179,7 +170,6 @@ bool CameraMetadata::isEmpty() const { } status_t CameraMetadata::sort() { ATRACE_CALL(); if (mLocked) { ALOGE("%s: CameraMetadata is locked", __FUNCTION__); return INVALID_OPERATION; Loading Loading @@ -310,7 +300,6 @@ status_t CameraMetadata::update(const camera_metadata_ro_entry &entry) { status_t CameraMetadata::updateImpl(uint32_t tag, const void *data, size_t data_count) { ATRACE_CALL(); status_t res; if (mLocked) { ALOGE("%s: CameraMetadata is locked", __FUNCTION__); Loading Loading @@ -368,13 +357,11 @@ status_t CameraMetadata::updateImpl(uint32_t tag, const void *data, } bool CameraMetadata::exists(uint32_t tag) const { ATRACE_CALL(); camera_metadata_ro_entry entry; return find_camera_metadata_ro_entry(mBuffer, tag, &entry) == 0; } camera_metadata_entry_t CameraMetadata::find(uint32_t tag) { ATRACE_CALL(); status_t res; camera_metadata_entry entry; if (mLocked) { Loading @@ -391,7 +378,6 @@ camera_metadata_entry_t CameraMetadata::find(uint32_t tag) { } camera_metadata_ro_entry_t CameraMetadata::find(uint32_t tag) const { ATRACE_CALL(); status_t res; camera_metadata_ro_entry entry; res = find_camera_metadata_ro_entry(mBuffer, tag, &entry); Loading @@ -403,7 +389,6 @@ camera_metadata_ro_entry_t CameraMetadata::find(uint32_t tag) const { } status_t CameraMetadata::erase(uint32_t tag) { ATRACE_CALL(); camera_metadata_entry_t entry; status_t res; if (mLocked) { Loading Loading @@ -434,7 +419,6 @@ status_t CameraMetadata::erase(uint32_t tag) { status_t CameraMetadata::removePermissionEntries(metadata_vendor_id_t vendorId, std::vector<int32_t> *tagsRemoved) { ATRACE_CALL(); uint32_t tagCount = 0; std::vector<uint32_t> tagsToRemove; Loading Loading @@ -511,7 +495,6 @@ void CameraMetadata::dump(int fd, int verbosity, int indentation) const { } status_t CameraMetadata::resizeIfNeeded(size_t extraEntries, size_t extraData) { ATRACE_CALL(); if (mBuffer == NULL) { mBuffer = allocate_camera_metadata(extraEntries * 2, extraData * 2); if (mBuffer == NULL) { Loading Loading @@ -551,7 +534,7 @@ status_t CameraMetadata::resizeIfNeeded(size_t extraEntries, size_t extraData) { status_t CameraMetadata::readFromParcel(const Parcel& data, camera_metadata_t** out) { ATRACE_CALL(); status_t err = OK; camera_metadata_t* metadata = NULL; Loading Loading @@ -642,7 +625,6 @@ status_t CameraMetadata::readFromParcel(const Parcel& data, status_t CameraMetadata::writeToParcel(Parcel& data, const camera_metadata_t* metadata) { ATRACE_CALL(); status_t res = OK; /** Loading Loading @@ -737,7 +719,7 @@ status_t CameraMetadata::writeToParcel(Parcel& data, } status_t CameraMetadata::readFromParcel(const Parcel *parcel) { ATRACE_CALL(); ALOGV("%s: parcel = %p", __FUNCTION__, parcel); status_t res = OK; Loading Loading @@ -769,7 +751,7 @@ status_t CameraMetadata::readFromParcel(const Parcel *parcel) { } status_t CameraMetadata::writeToParcel(Parcel *parcel) const { ATRACE_CALL(); ALOGV("%s: parcel = %p", __FUNCTION__, parcel); if (parcel == NULL) { Loading Loading @@ -798,7 +780,7 @@ void CameraMetadata::swap(CameraMetadata& other) { status_t CameraMetadata::getTagFromName(const char *name, const VendorTagDescriptor* vTags, uint32_t *tag) { ATRACE_CALL(); if (name == nullptr || tag == nullptr) return BAD_VALUE; size_t nameLength = strlen(name); Loading media/libaudioclient/AudioRecord.cpp +10 −6 Original line number Diff line number Diff line Loading @@ -405,7 +405,7 @@ status_t AudioRecord::start(AudioSystem::sync_event_t event, audio_session_t tri ? AMEDIAMETRICS_PROP_CALLERNAME_VALUE_UNKNOWN : mCallerName.c_str()) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_START) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_STATE, stateToString(mActive)) .set(AMEDIAMETRICS_PROP_STATUS, (int32_t)status) .record(); }); Loading Loading @@ -481,7 +481,7 @@ void AudioRecord::stop() mediametrics::Defer defer([&] { mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_STOP) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_STATE, stateToString(mActive)) .record(); }); Loading Loading @@ -742,6 +742,8 @@ status_t AudioRecord::createRecord_l(const Modulo<uint32_t> &epoch, const String void *iMemPointer; audio_track_cblk_t* cblk; status_t status; std::string flagsAsString; std::string originalFlagsAsString; if (audioFlinger == 0) { ALOGE("%s(%d): Could not get audioflinger", __func__, mPortId); Loading Loading @@ -920,13 +922,15 @@ status_t AudioRecord::createRecord_l(const Modulo<uint32_t> &epoch, const String mDeathNotifier = new DeathNotifier(this); IInterface::asBinder(mAudioRecord)->linkToDeath(mDeathNotifier, this); InputFlagConverter::toString(mFlags, flagsAsString); InputFlagConverter::toString(mOrigFlags, originalFlagsAsString); mMetricsId = std::string(AMEDIAMETRICS_KEY_PREFIX_AUDIO_RECORD) + std::to_string(mPortId); mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_CREATE) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) // the following are immutable (at least until restore) .set(AMEDIAMETRICS_PROP_FLAGS, (int32_t)mFlags) .set(AMEDIAMETRICS_PROP_ORIGINALFLAGS, (int32_t)mOrigFlags) .set(AMEDIAMETRICS_PROP_FLAGS, flagsAsString.c_str()) .set(AMEDIAMETRICS_PROP_ORIGINALFLAGS, originalFlagsAsString.c_str()) .set(AMEDIAMETRICS_PROP_SESSIONID, (int32_t)mSessionId) .set(AMEDIAMETRICS_PROP_TRACKID, mPortId) .set(AMEDIAMETRICS_PROP_SOURCE, toString(mAttributes.source).c_str()) Loading Loading @@ -1387,7 +1391,7 @@ status_t AudioRecord::restoreRecord_l(const char *from) mediametrics::Defer defer([&] { mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_RESTORE) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_STATE, stateToString(mActive)) .set(AMEDIAMETRICS_PROP_STATUS, (int32_t)result) .set(AMEDIAMETRICS_PROP_WHERE, from) Loading media/libaudioclient/AudioTrack.cpp +12 −8 Original line number Diff line number Diff line Loading @@ -650,7 +650,7 @@ status_t AudioTrack::start() ? AMEDIAMETRICS_PROP_CALLERNAME_VALUE_UNKNOWN : mCallerName.c_str()) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_START) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_STATE, stateToString(mState)) .set(AMEDIAMETRICS_PROP_STATUS, (int32_t)status) .record(); }); Loading Loading @@ -783,7 +783,7 @@ void AudioTrack::stop() mediametrics::Defer defer([&]() { mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_STOP) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_STATE, stateToString(mState)) .record(); logBufferSizeUnderruns(); Loading Loading @@ -845,7 +845,7 @@ void AudioTrack::flush() mediametrics::Defer defer([&]() { mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_FLUSH) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_STATE, stateToString(mState)) .record(); }); Loading Loading @@ -886,7 +886,7 @@ void AudioTrack::pause() mediametrics::Defer defer([&]() { mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_PAUSE) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_STATE, stateToString(mState)) .record(); }); Loading Loading @@ -1715,15 +1715,19 @@ status_t AudioTrack::createTrack_l() // The creation of the audio track by AudioFlinger (in the code above) // is the first log of the AudioTrack and must be present before // any AudioTrack client logs will be accepted. std::string flagsAsString; OutputFlagConverter::toString(mFlags, flagsAsString); std::string originalFlagsAsString; OutputFlagConverter::toString(mOrigFlags, originalFlagsAsString); mMetricsId = std::string(AMEDIAMETRICS_KEY_PREFIX_AUDIO_TRACK) + std::to_string(mPortId); mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_CREATE) // the following are immutable .set(AMEDIAMETRICS_PROP_FLAGS, (int32_t)mFlags) .set(AMEDIAMETRICS_PROP_ORIGINALFLAGS, (int32_t)mOrigFlags) .set(AMEDIAMETRICS_PROP_FLAGS, flagsAsString.c_str()) .set(AMEDIAMETRICS_PROP_ORIGINALFLAGS, originalFlagsAsString.c_str()) .set(AMEDIAMETRICS_PROP_SESSIONID, (int32_t)mSessionId) .set(AMEDIAMETRICS_PROP_TRACKID, mPortId) // dup from key .set(AMEDIAMETRICS_PROP_STREAMTYPE, toString(mStreamType).c_str()) .set(AMEDIAMETRICS_PROP_CONTENTTYPE, toString(mAttributes.content_type).c_str()) .set(AMEDIAMETRICS_PROP_USAGE, toString(mAttributes.usage).c_str()) .set(AMEDIAMETRICS_PROP_THREADID, (int32_t)output.outputId) Loading Loading @@ -2440,7 +2444,7 @@ status_t AudioTrack::restoreTrack_l(const char *from) mediametrics::Defer defer([&] { mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_RESTORE) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_STATE, stateToString(mState)) .set(AMEDIAMETRICS_PROP_STATUS, (int32_t)result) .set(AMEDIAMETRICS_PROP_WHERE, from) Loading media/libmediametrics/include/MediaMetricsConstants.h +4 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,9 @@ // They must be appended with another value to make a key. #define AMEDIAMETRICS_KEY_PREFIX_AUDIO "audio." // Device related key prefix. #define AMEDIAMETRICS_KEY_PREFIX_AUDIO_DEVICE AMEDIAMETRICS_KEY_PREFIX_AUDIO "device." // The AudioMmap key appends the "trackId" to the prefix. // This is the AudioFlinger equivalent of the AAudio Stream. // TODO: unify with AMEDIAMETRICS_KEY_PREFIX_AUDIO_STREAM Loading Loading @@ -113,6 +116,7 @@ #define AMEDIAMETRICS_PROP_DURATIONNS "durationNs" // int64 duration time span #define AMEDIAMETRICS_PROP_ENCODING "encoding" // string value of format #define AMEDIAMETRICS_PROP_EVENT "event#" // string value (often func name) #define AMEDIAMETRICS_PROP_EXECUTIONTIMENS "executionTimeNs" // time to execute the event // TODO: fix inconsistency in flags: AudioRecord / AudioTrack int32, AudioThread string #define AMEDIAMETRICS_PROP_FLAGS "flags" Loading services/audioflinger/Effects.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -2812,7 +2812,7 @@ bool AudioFlinger::EffectChain::EffectCallback::isOffloadOrMmap() const { if (t == nullptr) { return false; } return t->type() == ThreadBase::OFFLOAD || t->type() == ThreadBase::MMAP; return t->isOffloadOrMmap(); } uint32_t AudioFlinger::EffectChain::EffectCallback::sampleRate() const { Loading Loading
camera/CameraMetadata.cpp +4 −22 Original line number Diff line number Diff line Loading @@ -17,9 +17,7 @@ // #define LOG_NDEBUG 0 #define LOG_TAG "Camera2-Metadata" #define ATRACE_TAG ATRACE_TAG_CAMERA #include <utils/Log.h> #include <utils/Trace.h> #include <utils/Errors.h> #include <binder/Parcel.h> Loading @@ -40,13 +38,11 @@ CameraMetadata::CameraMetadata() : CameraMetadata::CameraMetadata(size_t entryCapacity, size_t dataCapacity) : mLocked(false) { ATRACE_CALL(); mBuffer = allocate_camera_metadata(entryCapacity, dataCapacity); } CameraMetadata::CameraMetadata(const CameraMetadata &other) : mLocked(false) { ATRACE_CALL(); mBuffer = clone_camera_metadata(other.mBuffer); } Loading Loading @@ -117,7 +113,6 @@ camera_metadata_t* CameraMetadata::release() { } void CameraMetadata::clear() { ATRACE_CALL(); if (mLocked) { ALOGE("%s: CameraMetadata is locked", __FUNCTION__); return; Loading @@ -129,7 +124,6 @@ void CameraMetadata::clear() { } void CameraMetadata::acquire(camera_metadata_t *buffer) { ATRACE_CALL(); if (mLocked) { ALOGE("%s: CameraMetadata is locked", __FUNCTION__); return; Loading @@ -143,7 +137,6 @@ void CameraMetadata::acquire(camera_metadata_t *buffer) { } void CameraMetadata::acquire(CameraMetadata &other) { ATRACE_CALL(); if (mLocked) { ALOGE("%s: CameraMetadata is locked", __FUNCTION__); return; Loading @@ -152,12 +145,10 @@ void CameraMetadata::acquire(CameraMetadata &other) { } status_t CameraMetadata::append(const CameraMetadata &other) { ATRACE_CALL(); return append(other.mBuffer); } status_t CameraMetadata::append(const camera_metadata_t* other) { ATRACE_CALL(); if (mLocked) { ALOGE("%s: CameraMetadata is locked", __FUNCTION__); return INVALID_OPERATION; Loading @@ -179,7 +170,6 @@ bool CameraMetadata::isEmpty() const { } status_t CameraMetadata::sort() { ATRACE_CALL(); if (mLocked) { ALOGE("%s: CameraMetadata is locked", __FUNCTION__); return INVALID_OPERATION; Loading Loading @@ -310,7 +300,6 @@ status_t CameraMetadata::update(const camera_metadata_ro_entry &entry) { status_t CameraMetadata::updateImpl(uint32_t tag, const void *data, size_t data_count) { ATRACE_CALL(); status_t res; if (mLocked) { ALOGE("%s: CameraMetadata is locked", __FUNCTION__); Loading Loading @@ -368,13 +357,11 @@ status_t CameraMetadata::updateImpl(uint32_t tag, const void *data, } bool CameraMetadata::exists(uint32_t tag) const { ATRACE_CALL(); camera_metadata_ro_entry entry; return find_camera_metadata_ro_entry(mBuffer, tag, &entry) == 0; } camera_metadata_entry_t CameraMetadata::find(uint32_t tag) { ATRACE_CALL(); status_t res; camera_metadata_entry entry; if (mLocked) { Loading @@ -391,7 +378,6 @@ camera_metadata_entry_t CameraMetadata::find(uint32_t tag) { } camera_metadata_ro_entry_t CameraMetadata::find(uint32_t tag) const { ATRACE_CALL(); status_t res; camera_metadata_ro_entry entry; res = find_camera_metadata_ro_entry(mBuffer, tag, &entry); Loading @@ -403,7 +389,6 @@ camera_metadata_ro_entry_t CameraMetadata::find(uint32_t tag) const { } status_t CameraMetadata::erase(uint32_t tag) { ATRACE_CALL(); camera_metadata_entry_t entry; status_t res; if (mLocked) { Loading Loading @@ -434,7 +419,6 @@ status_t CameraMetadata::erase(uint32_t tag) { status_t CameraMetadata::removePermissionEntries(metadata_vendor_id_t vendorId, std::vector<int32_t> *tagsRemoved) { ATRACE_CALL(); uint32_t tagCount = 0; std::vector<uint32_t> tagsToRemove; Loading Loading @@ -511,7 +495,6 @@ void CameraMetadata::dump(int fd, int verbosity, int indentation) const { } status_t CameraMetadata::resizeIfNeeded(size_t extraEntries, size_t extraData) { ATRACE_CALL(); if (mBuffer == NULL) { mBuffer = allocate_camera_metadata(extraEntries * 2, extraData * 2); if (mBuffer == NULL) { Loading Loading @@ -551,7 +534,7 @@ status_t CameraMetadata::resizeIfNeeded(size_t extraEntries, size_t extraData) { status_t CameraMetadata::readFromParcel(const Parcel& data, camera_metadata_t** out) { ATRACE_CALL(); status_t err = OK; camera_metadata_t* metadata = NULL; Loading Loading @@ -642,7 +625,6 @@ status_t CameraMetadata::readFromParcel(const Parcel& data, status_t CameraMetadata::writeToParcel(Parcel& data, const camera_metadata_t* metadata) { ATRACE_CALL(); status_t res = OK; /** Loading Loading @@ -737,7 +719,7 @@ status_t CameraMetadata::writeToParcel(Parcel& data, } status_t CameraMetadata::readFromParcel(const Parcel *parcel) { ATRACE_CALL(); ALOGV("%s: parcel = %p", __FUNCTION__, parcel); status_t res = OK; Loading Loading @@ -769,7 +751,7 @@ status_t CameraMetadata::readFromParcel(const Parcel *parcel) { } status_t CameraMetadata::writeToParcel(Parcel *parcel) const { ATRACE_CALL(); ALOGV("%s: parcel = %p", __FUNCTION__, parcel); if (parcel == NULL) { Loading Loading @@ -798,7 +780,7 @@ void CameraMetadata::swap(CameraMetadata& other) { status_t CameraMetadata::getTagFromName(const char *name, const VendorTagDescriptor* vTags, uint32_t *tag) { ATRACE_CALL(); if (name == nullptr || tag == nullptr) return BAD_VALUE; size_t nameLength = strlen(name); Loading
media/libaudioclient/AudioRecord.cpp +10 −6 Original line number Diff line number Diff line Loading @@ -405,7 +405,7 @@ status_t AudioRecord::start(AudioSystem::sync_event_t event, audio_session_t tri ? AMEDIAMETRICS_PROP_CALLERNAME_VALUE_UNKNOWN : mCallerName.c_str()) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_START) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_STATE, stateToString(mActive)) .set(AMEDIAMETRICS_PROP_STATUS, (int32_t)status) .record(); }); Loading Loading @@ -481,7 +481,7 @@ void AudioRecord::stop() mediametrics::Defer defer([&] { mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_STOP) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_STATE, stateToString(mActive)) .record(); }); Loading Loading @@ -742,6 +742,8 @@ status_t AudioRecord::createRecord_l(const Modulo<uint32_t> &epoch, const String void *iMemPointer; audio_track_cblk_t* cblk; status_t status; std::string flagsAsString; std::string originalFlagsAsString; if (audioFlinger == 0) { ALOGE("%s(%d): Could not get audioflinger", __func__, mPortId); Loading Loading @@ -920,13 +922,15 @@ status_t AudioRecord::createRecord_l(const Modulo<uint32_t> &epoch, const String mDeathNotifier = new DeathNotifier(this); IInterface::asBinder(mAudioRecord)->linkToDeath(mDeathNotifier, this); InputFlagConverter::toString(mFlags, flagsAsString); InputFlagConverter::toString(mOrigFlags, originalFlagsAsString); mMetricsId = std::string(AMEDIAMETRICS_KEY_PREFIX_AUDIO_RECORD) + std::to_string(mPortId); mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_CREATE) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) // the following are immutable (at least until restore) .set(AMEDIAMETRICS_PROP_FLAGS, (int32_t)mFlags) .set(AMEDIAMETRICS_PROP_ORIGINALFLAGS, (int32_t)mOrigFlags) .set(AMEDIAMETRICS_PROP_FLAGS, flagsAsString.c_str()) .set(AMEDIAMETRICS_PROP_ORIGINALFLAGS, originalFlagsAsString.c_str()) .set(AMEDIAMETRICS_PROP_SESSIONID, (int32_t)mSessionId) .set(AMEDIAMETRICS_PROP_TRACKID, mPortId) .set(AMEDIAMETRICS_PROP_SOURCE, toString(mAttributes.source).c_str()) Loading Loading @@ -1387,7 +1391,7 @@ status_t AudioRecord::restoreRecord_l(const char *from) mediametrics::Defer defer([&] { mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_RESTORE) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_STATE, stateToString(mActive)) .set(AMEDIAMETRICS_PROP_STATUS, (int32_t)result) .set(AMEDIAMETRICS_PROP_WHERE, from) Loading
media/libaudioclient/AudioTrack.cpp +12 −8 Original line number Diff line number Diff line Loading @@ -650,7 +650,7 @@ status_t AudioTrack::start() ? AMEDIAMETRICS_PROP_CALLERNAME_VALUE_UNKNOWN : mCallerName.c_str()) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_START) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_STATE, stateToString(mState)) .set(AMEDIAMETRICS_PROP_STATUS, (int32_t)status) .record(); }); Loading Loading @@ -783,7 +783,7 @@ void AudioTrack::stop() mediametrics::Defer defer([&]() { mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_STOP) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_STATE, stateToString(mState)) .record(); logBufferSizeUnderruns(); Loading Loading @@ -845,7 +845,7 @@ void AudioTrack::flush() mediametrics::Defer defer([&]() { mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_FLUSH) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_STATE, stateToString(mState)) .record(); }); Loading Loading @@ -886,7 +886,7 @@ void AudioTrack::pause() mediametrics::Defer defer([&]() { mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_PAUSE) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_STATE, stateToString(mState)) .record(); }); Loading Loading @@ -1715,15 +1715,19 @@ status_t AudioTrack::createTrack_l() // The creation of the audio track by AudioFlinger (in the code above) // is the first log of the AudioTrack and must be present before // any AudioTrack client logs will be accepted. std::string flagsAsString; OutputFlagConverter::toString(mFlags, flagsAsString); std::string originalFlagsAsString; OutputFlagConverter::toString(mOrigFlags, originalFlagsAsString); mMetricsId = std::string(AMEDIAMETRICS_KEY_PREFIX_AUDIO_TRACK) + std::to_string(mPortId); mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_CREATE) // the following are immutable .set(AMEDIAMETRICS_PROP_FLAGS, (int32_t)mFlags) .set(AMEDIAMETRICS_PROP_ORIGINALFLAGS, (int32_t)mOrigFlags) .set(AMEDIAMETRICS_PROP_FLAGS, flagsAsString.c_str()) .set(AMEDIAMETRICS_PROP_ORIGINALFLAGS, originalFlagsAsString.c_str()) .set(AMEDIAMETRICS_PROP_SESSIONID, (int32_t)mSessionId) .set(AMEDIAMETRICS_PROP_TRACKID, mPortId) // dup from key .set(AMEDIAMETRICS_PROP_STREAMTYPE, toString(mStreamType).c_str()) .set(AMEDIAMETRICS_PROP_CONTENTTYPE, toString(mAttributes.content_type).c_str()) .set(AMEDIAMETRICS_PROP_USAGE, toString(mAttributes.usage).c_str()) .set(AMEDIAMETRICS_PROP_THREADID, (int32_t)output.outputId) Loading Loading @@ -2440,7 +2444,7 @@ status_t AudioTrack::restoreTrack_l(const char *from) mediametrics::Defer defer([&] { mediametrics::LogItem(mMetricsId) .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_RESTORE) .set(AMEDIAMETRICS_PROP_DURATIONNS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_EXECUTIONTIMENS, (int64_t)(systemTime() - beginNs)) .set(AMEDIAMETRICS_PROP_STATE, stateToString(mState)) .set(AMEDIAMETRICS_PROP_STATUS, (int32_t)result) .set(AMEDIAMETRICS_PROP_WHERE, from) Loading
media/libmediametrics/include/MediaMetricsConstants.h +4 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,9 @@ // They must be appended with another value to make a key. #define AMEDIAMETRICS_KEY_PREFIX_AUDIO "audio." // Device related key prefix. #define AMEDIAMETRICS_KEY_PREFIX_AUDIO_DEVICE AMEDIAMETRICS_KEY_PREFIX_AUDIO "device." // The AudioMmap key appends the "trackId" to the prefix. // This is the AudioFlinger equivalent of the AAudio Stream. // TODO: unify with AMEDIAMETRICS_KEY_PREFIX_AUDIO_STREAM Loading Loading @@ -113,6 +116,7 @@ #define AMEDIAMETRICS_PROP_DURATIONNS "durationNs" // int64 duration time span #define AMEDIAMETRICS_PROP_ENCODING "encoding" // string value of format #define AMEDIAMETRICS_PROP_EVENT "event#" // string value (often func name) #define AMEDIAMETRICS_PROP_EXECUTIONTIMENS "executionTimeNs" // time to execute the event // TODO: fix inconsistency in flags: AudioRecord / AudioTrack int32, AudioThread string #define AMEDIAMETRICS_PROP_FLAGS "flags" Loading
services/audioflinger/Effects.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -2812,7 +2812,7 @@ bool AudioFlinger::EffectChain::EffectCallback::isOffloadOrMmap() const { if (t == nullptr) { return false; } return t->type() == ThreadBase::OFFLOAD || t->type() == ThreadBase::MMAP; return t->isOffloadOrMmap(); } uint32_t AudioFlinger::EffectChain::EffectCallback::sampleRate() const { Loading