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

Commit c96ac8df authored by Chien-Yu Chen's avatar Chien-Yu Chen
Browse files

Camera3Device: Relax InFlightMap size check

Relax InFlightMap size check for high speed configurations to
allow more pending capture requests.

Bug: 23162274
Change-Id: I955fe9a0754f0daed001f4a2b34ccb50f2465a11
parent 09da8691
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -2067,8 +2067,12 @@ void Camera3Device::removeInFlightRequestIfReadyLocked(int idx) {

    // Sanity check - if we have too many in-flight frames, something has
    // likely gone wrong
    if (mInFlightMap.size() > kInFlightWarnLimit) {
    if (!mIsConstrainedHighSpeedConfiguration && mInFlightMap.size() > kInFlightWarnLimit) {
        CLOGE("In-flight list too large: %zu", mInFlightMap.size());
    } else if (mIsConstrainedHighSpeedConfiguration && mInFlightMap.size() >
            kInFlightWarnLimitHighSpeed) {
        CLOGE("In-flight list too large for high speed configuration: %zu",
                mInFlightMap.size());
    }
}

+3 −1
Original line number Diff line number Diff line
@@ -153,9 +153,11 @@ class Camera3Device :
  private:
    static const size_t        kDumpLockAttempts  = 10;
    static const size_t        kDumpSleepDuration = 100000; // 0.10 sec
    static const size_t        kInFlightWarnLimit = 20;
    static const nsecs_t       kShutdownTimeout   = 5000000000; // 5 sec
    static const nsecs_t       kActiveTimeout     = 500000000;  // 500 ms
    static const size_t        kInFlightWarnLimit = 20;
    static const size_t        kInFlightWarnLimitHighSpeed = 256; // batch size 32 * pipe depth 8

    struct                     RequestTrigger;
    // minimal jpeg buffer size: 256KB + blob header
    static const ssize_t       kMinJpegBufferSize = 256 * 1024 + sizeof(camera3_jpeg_blob);