前言
强制修改三方相机配流size, 拍照和预览都可以
声明:
修改方案
cpp
867 binder::Status CameraDeviceClient::createStream(
868 const hardware::camera2::params::OutputConfiguration &outputConfiguration,
869 /*out*/
870 int32_t* newStreamId) {
871 ATRACE_CALL();
872
... ...
917 OutputStreamInfo streamInfo;//用这个对象可以修改配流size
918 bool isStreamInfoValid = false;
919 const std::vector<int32_t> &sensorPixelModesUsed =
920 outputConfiguration.getSensorPixelModesUsed();
921 for (auto& bufferProducer : bufferProducers) {
922 // Don't create multiple streams for the same target surface
923 sp<IBinder> binder = IInterface::asBinder(bufferProducer);
924 ssize_t index = mStreamMap.indexOfKey(binder);
925 if (index != NAME_NOT_FOUND) {
926 String8 msg = String8::format("Camera %s: Surface already has a stream created for it "
927 "(ID %zd)", mCameraIdStr.string(), index);
928 ALOGW("%s: %s", __FUNCTION__, msg.string());
929 return STATUS_ERROR(CameraService::ERROR_ALREADY_EXISTS, msg.string());
930 }
... ...
983 } else {
//if(String8(mClientPackageName) == "com.xxx.xxx")
//{
// 直接修改streamInfo.width 、streamInfo.height即可
//}
984 err = mDevice->createStream(surfaces, deferredConsumer, streamInfo.width,
985 streamInfo.height, streamInfo.format, streamInfo.dataSpace,
986 static_cast<camera_stream_rotation_t>
... ...
1031
1032 return res;
1033 }