.. | .. |
---|
16 | 16 | |
---|
17 | 17 | #include "v4l2_metadata_factory.h" |
---|
18 | 18 | |
---|
| 19 | +#include <iostream> |
---|
19 | 20 | #include <map> |
---|
| 21 | +#include <sstream> |
---|
20 | 22 | #include <utility> |
---|
21 | 23 | #include <vector> |
---|
22 | 24 | |
---|
.. | .. |
---|
52 | 54 | // but doing it here prevents connecting and disconnecting for each one). |
---|
53 | 55 | gdevice = device; |
---|
54 | 56 | |
---|
| 57 | + char * s_value; |
---|
| 58 | + s_value = pCameraCfg->supportPictureSizeValue(); |
---|
| 59 | + int merge_status = 0; |
---|
| 60 | + |
---|
| 61 | + std::string st1 = s_value; |
---|
| 62 | + int pic_width = 0; |
---|
| 63 | + int pic_height = 0; |
---|
| 64 | + std::string tmp; |
---|
| 65 | + std::vector<std::string> s_data; |
---|
| 66 | + std::stringstream input(st1); |
---|
| 67 | + |
---|
| 68 | + while (getline(input, tmp, ',')) { |
---|
| 69 | + s_data.push_back(tmp); |
---|
| 70 | + } |
---|
| 71 | + for (auto s : s_data) { |
---|
| 72 | + sscanf(s.c_str(), "%dx%d", &pic_width,&pic_height); |
---|
| 73 | + if (pic_width * pic_height > 4000*3000) { |
---|
| 74 | + merge_status = 1; |
---|
| 75 | + } |
---|
| 76 | + } |
---|
| 77 | + |
---|
| 78 | + //V4L2Wrapper::Connection temp_connection = |
---|
| 79 | + // V4L2Wrapper::Connection(device, MAIN_STREAM); |
---|
55 | 80 | V4L2Wrapper::Connection temp_connection = |
---|
56 | | - V4L2Wrapper::Connection(device, MAIN_STREAM); |
---|
| 81 | + V4L2Wrapper::Connection(device, MAIN_STREAM, merge_status); |
---|
| 82 | + |
---|
57 | 83 | if (temp_connection.status()) { |
---|
58 | 84 | HAL_LOGE("Failed to connect to device: %d.", temp_connection.status()); |
---|
59 | 85 | return temp_connection.status(); |
---|