Loading camera/ndk/Android.bp +2 −0 Original line number Original line Diff line number Diff line Loading @@ -182,6 +182,7 @@ cc_test { shared_libs: [ shared_libs: [ "libcamera2ndk_vendor", "libcamera2ndk_vendor", "libcamera_metadata", "libcamera_metadata", "libhidlbase", "libmediandk", "libmediandk", "libnativewindow", "libnativewindow", "libutils", "libutils", Loading @@ -191,6 +192,7 @@ cc_test { ], ], static_libs: [ static_libs: [ "android.hardware.camera.common@1.0-helper", "android.hardware.camera.common@1.0-helper", "android.hidl.token@1.0", ], ], cflags: [ cflags: [ "-D__ANDROID_VNDK__", "-D__ANDROID_VNDK__", Loading camera/ndk/ndk_vendor/tests/AImageReaderVendorTest.cpp +13 −0 Original line number Original line Diff line number Diff line Loading @@ -31,10 +31,13 @@ #include <stdio.h> #include <stdio.h> #include <android/log.h> #include <android/log.h> #include <android/hidl/manager/1.2/IServiceManager.h> #include <android/hidl/token/1.0/ITokenManager.h> #include <camera/NdkCameraError.h> #include <camera/NdkCameraError.h> #include <camera/NdkCameraManager.h> #include <camera/NdkCameraManager.h> #include <camera/NdkCameraDevice.h> #include <camera/NdkCameraDevice.h> #include <camera/NdkCameraCaptureSession.h> #include <camera/NdkCameraCaptureSession.h> #include <hidl/ServiceManagement.h> #include <media/NdkImage.h> #include <media/NdkImage.h> #include <media/NdkImageReader.h> #include <media/NdkImageReader.h> #include <cutils/native_handle.h> #include <cutils/native_handle.h> Loading @@ -50,6 +53,8 @@ static constexpr int kTestImageHeight = 480; static constexpr int kTestImageFormat = AIMAGE_FORMAT_YUV_420_888; static constexpr int kTestImageFormat = AIMAGE_FORMAT_YUV_420_888; using android::hardware::camera::common::V1_0::helper::VendorTagDescriptorCache; using android::hardware::camera::common::V1_0::helper::VendorTagDescriptorCache; using android::hidl::manager::V1_0::IServiceManager; using android::hidl::token::V1_0::ITokenManager; using ConfiguredWindows = std::set<const native_handle_t *>; using ConfiguredWindows = std::set<const native_handle_t *>; class CameraHelper { class CameraHelper { Loading Loading @@ -981,11 +986,19 @@ class AImageReaderVendorTest : public ::testing::Test { TEST_F(AImageReaderVendorTest, CreateWindowNativeHandle) { TEST_F(AImageReaderVendorTest, CreateWindowNativeHandle) { auto transport = android::hardware::defaultServiceManager()->getTransport(ITokenManager::descriptor, "default"); if (transport.isOk() && transport == IServiceManager::Transport::EMPTY) { GTEST_SKIP() << "This device no longer supports AImageReader_getWindowNativeHandle"; } testBasicTakePictures(/*prepareSurfaces*/ false); testBasicTakePictures(/*prepareSurfaces*/ false); testBasicTakePictures(/*prepareSurfaces*/ true); testBasicTakePictures(/*prepareSurfaces*/ true); } } TEST_F(AImageReaderVendorTest, LogicalCameraPhysicalStream) { TEST_F(AImageReaderVendorTest, LogicalCameraPhysicalStream) { auto transport = android::hardware::defaultServiceManager()->getTransport(ITokenManager::descriptor, "default"); if (transport.isOk() && transport == IServiceManager::Transport::EMPTY) { GTEST_SKIP() << "This device no longer supports AImageReader_getWindowNativeHandle"; } for (auto & v2 : {true, false}) { for (auto & v2 : {true, false}) { testLogicalCameraPhysicalStream(false/*usePhysicalSettings*/, v2); testLogicalCameraPhysicalStream(false/*usePhysicalSettings*/, v2); testLogicalCameraPhysicalStream(true/*usePhysicalSettings*/, v2); testLogicalCameraPhysicalStream(true/*usePhysicalSettings*/, v2); Loading media/ndk/NdkImageReader.cpp +3 −0 Original line number Original line Diff line number Diff line Loading @@ -570,6 +570,9 @@ AImageReader::releaseImageLocked(AImage* image, int releaseFenceFd, bool clearCa } } } } // The LL-NDK API is now deprecated. New devices will no longer have the token // manager service installed, so createHalToken will return false and this // will return AMEDIA_ERROR_UNKNOWN on those devices. media_status_t AImageReader::getWindowNativeHandle(native_handle **handle) { media_status_t AImageReader::getWindowNativeHandle(native_handle **handle) { if (mWindowHandle != nullptr) { if (mWindowHandle != nullptr) { *handle = mWindowHandle; *handle = mWindowHandle; Loading media/ndk/include/media/NdkImageReader.h +4 −2 Original line number Original line Diff line number Diff line Loading @@ -540,9 +540,11 @@ media_status_t AImageReader_setBufferRemovedListener( * * * @return AMEDIA_OK if the method call succeeds. * @return AMEDIA_OK if the method call succeeds. * AMEDIA_ERROR_INVALID_PARAMETER if reader or handle are NULL. * AMEDIA_ERROR_INVALID_PARAMETER if reader or handle are NULL. * AMEDIA_ERROR_UNKNOWN if some other error is encountered. * AMEDIA_ERROR_UNKNOWN if some other error is encountered or * the device no longer has android.hidl.token service to * satisfy the request because it is deprecated. */ */ media_status_t AImageReader_getWindowNativeHandle( [[deprecated]] media_status_t AImageReader_getWindowNativeHandle( AImageReader *reader, /* out */native_handle_t **handle); AImageReader *reader, /* out */native_handle_t **handle); #endif #endif Loading Loading
camera/ndk/Android.bp +2 −0 Original line number Original line Diff line number Diff line Loading @@ -182,6 +182,7 @@ cc_test { shared_libs: [ shared_libs: [ "libcamera2ndk_vendor", "libcamera2ndk_vendor", "libcamera_metadata", "libcamera_metadata", "libhidlbase", "libmediandk", "libmediandk", "libnativewindow", "libnativewindow", "libutils", "libutils", Loading @@ -191,6 +192,7 @@ cc_test { ], ], static_libs: [ static_libs: [ "android.hardware.camera.common@1.0-helper", "android.hardware.camera.common@1.0-helper", "android.hidl.token@1.0", ], ], cflags: [ cflags: [ "-D__ANDROID_VNDK__", "-D__ANDROID_VNDK__", Loading
camera/ndk/ndk_vendor/tests/AImageReaderVendorTest.cpp +13 −0 Original line number Original line Diff line number Diff line Loading @@ -31,10 +31,13 @@ #include <stdio.h> #include <stdio.h> #include <android/log.h> #include <android/log.h> #include <android/hidl/manager/1.2/IServiceManager.h> #include <android/hidl/token/1.0/ITokenManager.h> #include <camera/NdkCameraError.h> #include <camera/NdkCameraError.h> #include <camera/NdkCameraManager.h> #include <camera/NdkCameraManager.h> #include <camera/NdkCameraDevice.h> #include <camera/NdkCameraDevice.h> #include <camera/NdkCameraCaptureSession.h> #include <camera/NdkCameraCaptureSession.h> #include <hidl/ServiceManagement.h> #include <media/NdkImage.h> #include <media/NdkImage.h> #include <media/NdkImageReader.h> #include <media/NdkImageReader.h> #include <cutils/native_handle.h> #include <cutils/native_handle.h> Loading @@ -50,6 +53,8 @@ static constexpr int kTestImageHeight = 480; static constexpr int kTestImageFormat = AIMAGE_FORMAT_YUV_420_888; static constexpr int kTestImageFormat = AIMAGE_FORMAT_YUV_420_888; using android::hardware::camera::common::V1_0::helper::VendorTagDescriptorCache; using android::hardware::camera::common::V1_0::helper::VendorTagDescriptorCache; using android::hidl::manager::V1_0::IServiceManager; using android::hidl::token::V1_0::ITokenManager; using ConfiguredWindows = std::set<const native_handle_t *>; using ConfiguredWindows = std::set<const native_handle_t *>; class CameraHelper { class CameraHelper { Loading Loading @@ -981,11 +986,19 @@ class AImageReaderVendorTest : public ::testing::Test { TEST_F(AImageReaderVendorTest, CreateWindowNativeHandle) { TEST_F(AImageReaderVendorTest, CreateWindowNativeHandle) { auto transport = android::hardware::defaultServiceManager()->getTransport(ITokenManager::descriptor, "default"); if (transport.isOk() && transport == IServiceManager::Transport::EMPTY) { GTEST_SKIP() << "This device no longer supports AImageReader_getWindowNativeHandle"; } testBasicTakePictures(/*prepareSurfaces*/ false); testBasicTakePictures(/*prepareSurfaces*/ false); testBasicTakePictures(/*prepareSurfaces*/ true); testBasicTakePictures(/*prepareSurfaces*/ true); } } TEST_F(AImageReaderVendorTest, LogicalCameraPhysicalStream) { TEST_F(AImageReaderVendorTest, LogicalCameraPhysicalStream) { auto transport = android::hardware::defaultServiceManager()->getTransport(ITokenManager::descriptor, "default"); if (transport.isOk() && transport == IServiceManager::Transport::EMPTY) { GTEST_SKIP() << "This device no longer supports AImageReader_getWindowNativeHandle"; } for (auto & v2 : {true, false}) { for (auto & v2 : {true, false}) { testLogicalCameraPhysicalStream(false/*usePhysicalSettings*/, v2); testLogicalCameraPhysicalStream(false/*usePhysicalSettings*/, v2); testLogicalCameraPhysicalStream(true/*usePhysicalSettings*/, v2); testLogicalCameraPhysicalStream(true/*usePhysicalSettings*/, v2); Loading
media/ndk/NdkImageReader.cpp +3 −0 Original line number Original line Diff line number Diff line Loading @@ -570,6 +570,9 @@ AImageReader::releaseImageLocked(AImage* image, int releaseFenceFd, bool clearCa } } } } // The LL-NDK API is now deprecated. New devices will no longer have the token // manager service installed, so createHalToken will return false and this // will return AMEDIA_ERROR_UNKNOWN on those devices. media_status_t AImageReader::getWindowNativeHandle(native_handle **handle) { media_status_t AImageReader::getWindowNativeHandle(native_handle **handle) { if (mWindowHandle != nullptr) { if (mWindowHandle != nullptr) { *handle = mWindowHandle; *handle = mWindowHandle; Loading
media/ndk/include/media/NdkImageReader.h +4 −2 Original line number Original line Diff line number Diff line Loading @@ -540,9 +540,11 @@ media_status_t AImageReader_setBufferRemovedListener( * * * @return AMEDIA_OK if the method call succeeds. * @return AMEDIA_OK if the method call succeeds. * AMEDIA_ERROR_INVALID_PARAMETER if reader or handle are NULL. * AMEDIA_ERROR_INVALID_PARAMETER if reader or handle are NULL. * AMEDIA_ERROR_UNKNOWN if some other error is encountered. * AMEDIA_ERROR_UNKNOWN if some other error is encountered or * the device no longer has android.hidl.token service to * satisfy the request because it is deprecated. */ */ media_status_t AImageReader_getWindowNativeHandle( [[deprecated]] media_status_t AImageReader_getWindowNativeHandle( AImageReader *reader, /* out */native_handle_t **handle); AImageReader *reader, /* out */native_handle_t **handle); #endif #endif Loading