Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a49904bc authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 10421851 from d5caa7e6 to udc-qpr1-release

Change-Id: Ie17d6c9da018f6b090c9502bb031b67d7f5c4579
parents 57c43bcf d5caa7e6
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1808,6 +1808,10 @@ void CCodec::start() {
                           ACTION_CODE_FATAL);
        return;
    }

    // clear the deadline after the component starts
    setDeadline(TimePoint::max(), 0ms, "none");

    sp<AMessage> inputFormat;
    sp<AMessage> outputFormat;
    status_t err2 = OK;
+1 −1
Original line number Diff line number Diff line
@@ -287,7 +287,7 @@ std::shared_ptr<const effectsConfig::Processings> EffectsFactoryHalAidl::getProc
        if (const auto uuid =
                    ::aidl::android::aidl2legacy_AudioUuid_audio_uuid_t(desc.common.id.uuid);
            uuid.ok()) {
            static_cast<effectsConfig::EffectImpl>(effect).uuid = uuid.value();
            static_cast<effectsConfig::EffectImpl&>(effect).uuid = uuid.value();
            return std::make_shared<const effectsConfig::Effect>(effect);
        } else {
            return nullptr;
+2 −2
Original line number Diff line number Diff line
@@ -85,8 +85,8 @@ void BatteryNotifier::noteStartAudio(uid_t uid) {

void BatteryNotifier::noteStopAudio(uid_t uid) {
    Mutex::Autolock _l(mLock);
    if (mAudioRefCounts.find(uid) == mAudioRefCounts.end()) {
        ALOGW("%s: audio refcount is broken for uid(%d).", __FUNCTION__, (int)uid);
    if (mAudioRefCounts.find(uid) == mAudioRefCounts.end() || (mAudioRefCounts[uid] == 0)) {
        ALOGE("%s: audio refcount is broken for uid(%d).", __FUNCTION__, (int)uid);
        return;
    }

+32 −0
Original line number Diff line number Diff line
@@ -68,6 +68,38 @@ private:
    sp<IBatteryStats> getBatteryService_l();
};

namespace mediautils {
class BatteryStatsAudioHandle {
  public:
    static constexpr uid_t INVALID_UID = static_cast<uid_t>(-1);

    explicit BatteryStatsAudioHandle(uid_t uid) : mUid(uid) {
        if (uid != INVALID_UID) {
            BatteryNotifier::getInstance().noteStartAudio(mUid);
        }
    }

    BatteryStatsAudioHandle(BatteryStatsAudioHandle&& other) : mUid(other.mUid) {
        other.mUid = INVALID_UID;
    }

    BatteryStatsAudioHandle(const BatteryStatsAudioHandle& other) = delete;

    BatteryStatsAudioHandle& operator=(const BatteryStatsAudioHandle& other) = delete;

    BatteryStatsAudioHandle& operator=(BatteryStatsAudioHandle&& other) = delete;

    ~BatteryStatsAudioHandle() {
        if (mUid != INVALID_UID) {
            BatteryNotifier::getInstance().noteStopAudio(mUid);
        }
    }

  private:
    // Logically const
    uid_t mUid = INVALID_UID;
};
}  // namespace mediautils
}  // namespace android

#endif // MEDIA_BATTERY_NOTIFIER_H
+1 −0
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@
#include <media/DeviceDescriptorBase.h>
#include <media/ExtendedAudioBufferProvider.h>
#include <media/VolumeShaper.h>
#include <mediautils/BatteryNotifier.h>
#include <mediautils/ServiceUtilities.h>
#include <mediautils/SharedMemoryAllocator.h>
#include <mediautils/Synchronization.h>
Loading