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

Commit 72d6973d authored by Xin Li's avatar Xin Li
Browse files

DO NOT MERGE - Merge pie-platform-release (PPRL.190705.004) into master

Bug: 136196576
Change-Id: I77c591fd4d7f2774c864c1dfd1529b5d1265a86d
parents 4c76131a bcb87e55
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -646,6 +646,14 @@ camera_status_t ACaptureSessionOutputContainer_remove(
 * target combinations with sizes outside of these guarantees, but this can only be tested for
 * target combinations with sizes outside of these guarantees, but this can only be tested for
 * by attempting to create a session with such targets.</p>
 * by attempting to create a session with such targets.</p>
 *
 *
 * <p>Exception on 176x144 (QCIF) resolution:
 * Camera devices usually have a fixed capability for downscaling from larger resolution to
 * smaller, and the QCIF resolution sometimes cannot be fully supported due to this
 * limitation on devices with high-resolution image sensors. Therefore, trying to configure a
 * QCIF resolution stream together with any other stream larger than 1920x1080 resolution
 * (either width or height) might not be supported, and capture session creation will fail if it
 * is not.</p>
 *
 * @param device the camera device of interest.
 * @param device the camera device of interest.
 * @param outputs the {@link ACaptureSessionOutputContainer} describes all output streams.
 * @param outputs the {@link ACaptureSessionOutputContainer} describes all output streams.
 * @param callbacks the {@link ACameraCaptureSession_stateCallbacks capture session state callbacks}.
 * @param callbacks the {@link ACameraCaptureSession_stateCallbacks capture session state callbacks}.
+7 −1
Original line number Original line Diff line number Diff line
@@ -3157,6 +3157,12 @@ typedef enum acamera_metadata_tag {
     * IMPLEMENTATION_DEFINED | same as YUV_420_888                  | Any            |</p>
     * IMPLEMENTATION_DEFINED | same as YUV_420_888                  | Any            |</p>
     * <p>Refer to ACAMERA_REQUEST_AVAILABLE_CAPABILITIES for additional
     * <p>Refer to ACAMERA_REQUEST_AVAILABLE_CAPABILITIES for additional
     * mandatory stream configurations on a per-capability basis.</p>
     * mandatory stream configurations on a per-capability basis.</p>
     * <p>Exception on 176x144 (QCIF) resolution: camera devices usually have a fixed capability for
     * downscaling from larger resolution to smaller, and the QCIF resolution sometimes is not
     * fully supported due to this limitation on devices with high-resolution image sensors.
     * Therefore, trying to configure a QCIF resolution stream together with any other
     * stream larger than 1920x1080 resolution (either width or height) might not be supported,
     * and capture session creation will fail if it is not.</p>
     *
     *
     * @see ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL
     * @see ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL
     * @see ACAMERA_REQUEST_AVAILABLE_CAPABILITIES
     * @see ACAMERA_REQUEST_AVAILABLE_CAPABILITIES
@@ -5154,7 +5160,7 @@ typedef enum acamera_metadata_tag {
     * <li><code>LEVEL_3</code> devices additionally support YUV reprocessing and RAW image capture, along
     * <li><code>LEVEL_3</code> devices additionally support YUV reprocessing and RAW image capture, along
     *   with additional output stream configurations.</li>
     *   with additional output stream configurations.</li>
     * <li><code>EXTERNAL</code> devices are similar to <code>LIMITED</code> devices with exceptions like some sensor or
     * <li><code>EXTERNAL</code> devices are similar to <code>LIMITED</code> devices with exceptions like some sensor or
     *   lens information not reorted or less stable framerates.</li>
     *   lens information not reported or less stable framerates.</li>
     * </ul>
     * </ul>
     * <p>See the individual level enums for full descriptions of the supported capabilities.  The
     * <p>See the individual level enums for full descriptions of the supported capabilities.  The
     * ACAMERA_REQUEST_AVAILABLE_CAPABILITIES entry describes the device's capabilities at a
     * ACAMERA_REQUEST_AVAILABLE_CAPABILITIES entry describes the device's capabilities at a
+12 −12
Original line number Original line Diff line number Diff line
@@ -68,7 +68,7 @@ struct TWGraphicBufferProducer : public BASE {
    Return<void> requestBuffer(int32_t slot, HGraphicBufferProducer::requestBuffer_cb _hidl_cb) override {
    Return<void> requestBuffer(int32_t slot, HGraphicBufferProducer::requestBuffer_cb _hidl_cb) override {
        sp<GraphicBuffer> buf;
        sp<GraphicBuffer> buf;
        status_t status = mBase->requestBuffer(slot, &buf);
        status_t status = mBase->requestBuffer(slot, &buf);
        AnwBuffer anwBuffer;
        AnwBuffer anwBuffer{};
        if (buf != nullptr) {
        if (buf != nullptr) {
            ::android::conversion::wrapAs(&anwBuffer, *buf);
            ::android::conversion::wrapAs(&anwBuffer, *buf);
        }
        }
@@ -89,15 +89,15 @@ struct TWGraphicBufferProducer : public BASE {
            uint32_t width, uint32_t height,
            uint32_t width, uint32_t height,
            ::android::hardware::graphics::common::V1_0::PixelFormat format, uint32_t usage,
            ::android::hardware::graphics::common::V1_0::PixelFormat format, uint32_t usage,
            bool getFrameTimestamps, HGraphicBufferProducer::dequeueBuffer_cb _hidl_cb) override {
            bool getFrameTimestamps, HGraphicBufferProducer::dequeueBuffer_cb _hidl_cb) override {
        int slot;
        int slot{};
        sp<Fence> fence;
        sp<Fence> fence;
        ::android::FrameEventHistoryDelta outTimestamps;
        ::android::FrameEventHistoryDelta outTimestamps;
        status_t status = mBase->dequeueBuffer(
        status_t status = mBase->dequeueBuffer(
            &slot, &fence, width, height,
            &slot, &fence, width, height,
            static_cast<::android::PixelFormat>(format), usage, nullptr,
            static_cast<::android::PixelFormat>(format), usage, nullptr,
            getFrameTimestamps ? &outTimestamps : nullptr);
            getFrameTimestamps ? &outTimestamps : nullptr);
        hidl_handle tFence;
        hidl_handle tFence{};
        HGraphicBufferProducer::FrameEventHistoryDelta tOutTimestamps;
        HGraphicBufferProducer::FrameEventHistoryDelta tOutTimestamps{};


        native_handle_t* nh = nullptr;
        native_handle_t* nh = nullptr;
        if ((fence == nullptr) || !::android::conversion::wrapAs(&tFence, &nh, *fence)) {
        if ((fence == nullptr) || !::android::conversion::wrapAs(&tFence, &nh, *fence)) {
@@ -144,8 +144,8 @@ struct TWGraphicBufferProducer : public BASE {
        sp<GraphicBuffer> outBuffer;
        sp<GraphicBuffer> outBuffer;
        sp<Fence> outFence;
        sp<Fence> outFence;
        status_t status = mBase->detachNextBuffer(&outBuffer, &outFence);
        status_t status = mBase->detachNextBuffer(&outBuffer, &outFence);
        AnwBuffer tBuffer;
        AnwBuffer tBuffer{};
        hidl_handle tFence;
        hidl_handle tFence{};


        if (outBuffer == nullptr) {
        if (outBuffer == nullptr) {
            LOG(ERROR) << "TWGraphicBufferProducer::detachNextBuffer - "
            LOG(ERROR) << "TWGraphicBufferProducer::detachNextBuffer - "
@@ -185,7 +185,7 @@ struct TWGraphicBufferProducer : public BASE {
    Return<void> queueBuffer(
    Return<void> queueBuffer(
            int32_t slot, const HGraphicBufferProducer::QueueBufferInput& input,
            int32_t slot, const HGraphicBufferProducer::QueueBufferInput& input,
            HGraphicBufferProducer::queueBuffer_cb _hidl_cb) override {
            HGraphicBufferProducer::queueBuffer_cb _hidl_cb) override {
        HGraphicBufferProducer::QueueBufferOutput tOutput;
        HGraphicBufferProducer::QueueBufferOutput tOutput{};
        BGraphicBufferProducer::QueueBufferInput lInput(
        BGraphicBufferProducer::QueueBufferInput lInput(
                0, false, HAL_DATASPACE_UNKNOWN,
                0, false, HAL_DATASPACE_UNKNOWN,
                ::android::Rect(0, 0, 1, 1),
                ::android::Rect(0, 0, 1, 1),
@@ -246,7 +246,7 @@ struct TWGraphicBufferProducer : public BASE {
                producerControlledByApp,
                producerControlledByApp,
                &lOutput);
                &lOutput);


        HGraphicBufferProducer::QueueBufferOutput tOutput;
        HGraphicBufferProducer::QueueBufferOutput tOutput{};
        std::vector<std::vector<native_handle_t*> > nhAA;
        std::vector<std::vector<native_handle_t*> > nhAA;
        if (!::android::conversion::wrapAs(&tOutput, &nhAA, lOutput)) {
        if (!::android::conversion::wrapAs(&tOutput, &nhAA, lOutput)) {
            LOG(ERROR) << "TWGraphicBufferProducer::connect - "
            LOG(ERROR) << "TWGraphicBufferProducer::connect - "
@@ -320,11 +320,11 @@ struct TWGraphicBufferProducer : public BASE {
        status_t status = mBase->getLastQueuedBuffer(
        status_t status = mBase->getLastQueuedBuffer(
                &lOutBuffer, &lOutFence, lOutTransformMatrix);
                &lOutBuffer, &lOutFence, lOutTransformMatrix);


        AnwBuffer tOutBuffer;
        AnwBuffer tOutBuffer{};
        if (lOutBuffer != nullptr) {
        if (lOutBuffer != nullptr) {
            ::android::conversion::wrapAs(&tOutBuffer, *lOutBuffer);
            ::android::conversion::wrapAs(&tOutBuffer, *lOutBuffer);
        }
        }
        hidl_handle tOutFence;
        hidl_handle tOutFence{};
        native_handle_t* nh = nullptr;
        native_handle_t* nh = nullptr;
        if ((lOutFence == nullptr) || !::android::conversion::wrapAs(&tOutFence, &nh, *lOutFence)) {
        if ((lOutFence == nullptr) || !::android::conversion::wrapAs(&tOutFence, &nh, *lOutFence)) {
            LOG(ERROR) << "TWGraphicBufferProducer::getLastQueuedBuffer - "
            LOG(ERROR) << "TWGraphicBufferProducer::getLastQueuedBuffer - "
@@ -346,7 +346,7 @@ struct TWGraphicBufferProducer : public BASE {
        ::android::FrameEventHistoryDelta lDelta;
        ::android::FrameEventHistoryDelta lDelta;
        mBase->getFrameTimestamps(&lDelta);
        mBase->getFrameTimestamps(&lDelta);


        HGraphicBufferProducer::FrameEventHistoryDelta tDelta;
        HGraphicBufferProducer::FrameEventHistoryDelta tDelta{};
        std::vector<std::vector<native_handle_t*> > nhAA;
        std::vector<std::vector<native_handle_t*> > nhAA;
        if (!::android::conversion::wrapAs(&tDelta, &nhAA, lDelta)) {
        if (!::android::conversion::wrapAs(&tDelta, &nhAA, lDelta)) {
            LOG(ERROR) << "TWGraphicBufferProducer::getFrameTimestamps - "
            LOG(ERROR) << "TWGraphicBufferProducer::getFrameTimestamps - "
@@ -365,7 +365,7 @@ struct TWGraphicBufferProducer : public BASE {
    }
    }


    Return<void> getUniqueId(HGraphicBufferProducer::getUniqueId_cb _hidl_cb) override {
    Return<void> getUniqueId(HGraphicBufferProducer::getUniqueId_cb _hidl_cb) override {
        uint64_t outId;
        uint64_t outId{};
        status_t status = mBase->getUniqueId(&outId);
        status_t status = mBase->getUniqueId(&outId);
        _hidl_cb(static_cast<int32_t>(status), outId);
        _hidl_cb(static_cast<int32_t>(status), outId);
        return Void();
        return Void();