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

Commit 55766c4a authored by Emilian Peev's avatar Emilian Peev Committed by android-build-merger
Browse files

Merge "Camera: Set input timestamp before returning depth jpegs" into qt-qpr1-dev

am: ca758210

Change-Id: I031a488aba1f745014170340cddeb9ca6d2ab8d9
parents 7d6446db ca758210
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -247,7 +247,7 @@ int64_t DepthCompositeStream::getNextFailingInputLocked(int64_t *currentTs /*ino
    return ret;
}

status_t DepthCompositeStream::processInputFrame(const InputFrame &inputFrame) {
status_t DepthCompositeStream::processInputFrame(nsecs_t ts, const InputFrame &inputFrame) {
    status_t res;
    sp<ANativeWindow> outputANW = mOutputSurface;
    ANativeWindowBuffer *anb;
@@ -370,6 +370,13 @@ status_t DepthCompositeStream::processInputFrame(const InputFrame &inputFrame) {
        return NO_MEMORY;
    }

    res = native_window_set_buffers_timestamp(mOutputSurface.get(), ts);
    if (res != OK) {
        ALOGE("%s: Stream %d: Error setting timestamp: %s (%d)", __FUNCTION__,
                getStreamId(), strerror(-res), res);
        return res;
    }

    ALOGV("%s: Final jpeg size: %zu", __func__, finalJpegSize);
    uint8_t* header = static_cast<uint8_t *> (dstBuffer) +
        (gb->getWidth() - sizeof(struct camera3_jpeg_blob));
@@ -459,7 +466,7 @@ bool DepthCompositeStream::threadLoop() {
        }
    }

    auto res = processInputFrame(mPendingInputFrames[currentTs]);
    auto res = processInputFrame(currentTs, mPendingInputFrames[currentTs]);
    Mutex::Autolock l(mMutex);
    if (res != OK) {
        ALOGE("%s: Failed processing frame with timestamp: %" PRIu64 ": %s (%d)", __FUNCTION__,
+1 −1
Original line number Diff line number Diff line
@@ -97,7 +97,7 @@ private:
            size_t maxJpegSize, uint8_t jpegQuality,
            std::vector<std::unique_ptr<Item>>* items /*out*/);
    std::unique_ptr<ImagingModel> getImagingModel();
    status_t processInputFrame(const InputFrame &inputFrame);
    status_t processInputFrame(nsecs_t ts, const InputFrame &inputFrame);

    // Buffer/Results handling
    void compilePendingInputLocked();