--- a/hardware/interfaces/camera/provider/2.4/default/ExternalCameraProviderImpl_2_4.cpp +++ b/hardware/interfaces/camera/provider/2.4/default/ExternalCameraProviderImpl_2_4.cpp @@ -175,7 +175,31 @@ Return ExternalCameraProviderImpl_2_4::getCameraDeviceInterface_V3_x( std::string cameraDevicePath, deviceVersion; bool match = matchDeviceName(mCfg.cameraIdOffset, cameraDeviceName, &deviceVersion, &cameraDevicePath); - ALOGD("cameraDevicePath:%s", cameraDevicePath.c_str()); + + ALOGD("rpdzkj --------------------------"); + ALOGD("rpdzkj mCfg.cameraIdOffset:%d", mCfg.cameraIdOffset); + ALOGD("rpdzkj cameraDeviceName:%s", cameraDeviceName.c_str()); + ALOGD("rpdzkj deviceVersion:%s", deviceVersion.c_str()); + ALOGD("rpdzkj cameraDevicePath:%s", cameraDevicePath.c_str()); + ALOGD("rpdzkj --------------------------"); + + + + base::unique_fd fd(::open("/dev/video8", O_RDWR)); + if (fd.get() < 0) { + ALOGD("rpdzkj %s open v4l2 device /dev/video8 failed", __FUNCTION__); + } else { + + ALOGD("rpdzkj %s open v4l2 device /dev/video8 successful", __FUNCTION__); + + if (0 == strcmp(cameraDevicePath.c_str(), "/dev/video8")) { + cameraDevicePath = "/dev/video0"; + } + else if (0 == strcmp(cameraDevicePath.c_str(), "/dev/video0")) { + cameraDevicePath = "/dev/video8"; + } + } + if (!match) { _hidl_cb(Status::ILLEGAL_ARGUMENT, nullptr); return Void(); rpdzkj@50:~/fifth/jeff/rk3588/rk3588-android12.0$