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

Commit 3eab876d authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "CCodec: Update watchdog to handle timeouts accurately" am: 36f42119...

Merge "CCodec: Update watchdog to handle timeouts accurately" am: 36f42119 am: d290c251 am: 7d5aa632

Original change: https://android-review.googlesource.com/c/platform/frameworks/av/+/2209255



Change-Id: I5e5c83cfcc897a7d8ba25cc3ddb4b6ba35403be7
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 0d687080 7d5aa632
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -2557,17 +2557,6 @@ status_t CCodec::configureTunneledVideoPlayback(
}

void CCodec::initiateReleaseIfStuck() {
    std::string name;
    bool pendingDeadline = false;
    {
        Mutexed<NamedTimePoint>::Locked deadline(mDeadline);
        if (deadline->get() < std::chrono::steady_clock::now()) {
            name = deadline->getName();
        }
        if (deadline->get() != TimePoint::max()) {
            pendingDeadline = true;
        }
    }
    bool tunneled = false;
    bool isMediaTypeKnown = false;
    {
@@ -2605,6 +2594,17 @@ void CCodec::initiateReleaseIfStuck() {
        tunneled = config->mTunneled;
        isMediaTypeKnown = (kKnownMediaTypes.count(config->mCodingMediaType) != 0);
    }
    std::string name;
    bool pendingDeadline = false;
    {
        Mutexed<NamedTimePoint>::Locked deadline(mDeadline);
        if (deadline->get() < std::chrono::steady_clock::now()) {
            name = deadline->getName();
        }
        if (deadline->get() != TimePoint::max()) {
            pendingDeadline = true;
        }
    }
    if (!tunneled && isMediaTypeKnown && name.empty()) {
        constexpr std::chrono::steady_clock::duration kWorkDurationThreshold = 3s;
        std::chrono::steady_clock::duration elapsed = mChannel->elapsed();