summaryrefslogtreecommitdiff
authorGuosong Zhou <guosong.zhou@amlogic.com>2015-01-20 03:29:59 (GMT)
committer Jiyu Yang <jiyu.yang@amlogic.com>2015-01-20 05:19:04 (GMT)
commit68f33086d4eaab077793b26ca36f9ffcc902b2d3 (patch)
tree61cde51e17b2eda9510768a9263acf574b00a364
parent554a522dcdaeeb0ba45a0f36b29318cacf02bc7d (diff)
downloadcamera-68f33086d4eaab077793b26ca36f9ffcc902b2d3.zip
camera-68f33086d4eaab077793b26ca36f9ffcc902b2d3.tar.gz
camera-68f33086d4eaab077793b26ca36f9ffcc902b2d3.tar.bz2
PD #101232: fixed 1080P USB camera can't open
fixed camera apk can't be opened when preview size > ro.camera.preview.MaxSize. Changae-Id: Ib31f69a136ee199fd618f79bfaf15406944e07e1 Change-Id: I482ea5a85e3da7cc99b72f6d619025e644980aa7 Signed-off-by: Jiyu Yang <jiyu.yang@amlogic.com>
Diffstat
-rwxr-xr-xv3/EmulatedFakeCamera3.h2
-rwxr-xr-xv3/fake-pipeline2/Sensor.cpp26
2 files changed, 16 insertions, 12 deletions
diff --git a/v3/EmulatedFakeCamera3.h b/v3/EmulatedFakeCamera3.h
index 7052200..1762232 100755
--- a/v3/EmulatedFakeCamera3.h
+++ b/v3/EmulatedFakeCamera3.h
@@ -234,7 +234,7 @@ private:
typedef List<camera3_stream_t*>::iterator StreamIterator;
typedef Vector<camera3_stream_buffer> HalBufferVector;
- uint32_t mAvailableJpegSize[64];
+ uint32_t mAvailableJpegSize[64 * 8];
// All streams, including input stream
StreamList mStreams;
diff --git a/v3/fake-pipeline2/Sensor.cpp b/v3/fake-pipeline2/Sensor.cpp
index 5172d0d..a32369f 100755
--- a/v3/fake-pipeline2/Sensor.cpp
+++ b/v3/fake-pipeline2/Sensor.cpp
@@ -1173,7 +1173,7 @@ int Sensor::getStreamConfigurations(uint32_t picSizes[], const int32_t kAvailabl
frmsize.pixel_format = getOutputFormat();
START = 0;
- for(i=0;;i++, count+=4){
+ for (i = 0; ; i++) {
frmsize.index = i;
res = ioctl(vinfo->fd, VIDIOC_ENUM_FRAMESIZES, &frmsize);
if (res < 0){
@@ -1214,12 +1214,13 @@ int Sensor::getStreamConfigurations(uint32_t picSizes[], const int32_t kAvailabl
}
picSizes[k + 1] = frmsize.discrete.width;
picSizes[k + 2] = frmsize.discrete.height;
- }
+ count+=4;
+ }
}
START = count;
- for(i=0;;i++, count+=4){
+ for (i = 0; ; i++) {
frmsize.index = i;
res = ioctl(vinfo->fd, VIDIOC_ENUM_FRAMESIZES, &frmsize);
if (res < 0){
@@ -1261,14 +1262,15 @@ int Sensor::getStreamConfigurations(uint32_t picSizes[], const int32_t kAvailabl
}
picSizes[k + 1] = frmsize.discrete.width;
picSizes[k + 2] = frmsize.discrete.height;
- }
+ count+=4;
+ }
}
#if 0
if (frmsize.pixel_format == V4L2_PIX_FMT_YUYV) {
START = count;
- for(i=0;;i++, count+=4){
+ for (i = 0; ; i++) {
frmsize.index = i;
res = ioctl(vinfo->fd, VIDIOC_ENUM_FRAMESIZES, &frmsize);
if (res < 0){
@@ -1310,8 +1312,9 @@ int Sensor::getStreamConfigurations(uint32_t picSizes[], const int32_t kAvailabl
}
picSizes[k + 1] = frmsize.discrete.width;
picSizes[k + 2] = frmsize.discrete.height;
- }
+ count+=4;
+ }
}
}
#endif
@@ -1321,13 +1324,13 @@ int Sensor::getStreamConfigurations(uint32_t picSizes[], const int32_t kAvailabl
V4L2_PIX_FMT_MJPEG,
V4L2_PIX_FMT_YUYV,
};
-
+
START = count;
for (j = 0; j<(int)(sizeof(jpgSrcfmt)/sizeof(jpgSrcfmt[0])); j++) {
memset(&frmsize,0,sizeof(frmsize));
frmsize.pixel_format = jpgSrcfmt[j];
- for(i=0;;i++, count+=4){
+ for (i = 0; ; i++) {
frmsize.index = i;
res = ioctl(vinfo->fd, VIDIOC_ENUM_FRAMESIZES, &frmsize);
if (res < 0){
@@ -1368,8 +1371,9 @@ int Sensor::getStreamConfigurations(uint32_t picSizes[], const int32_t kAvailabl
picSizes[k + 1] = frmsize.discrete.width;
picSizes[k + 2] = frmsize.discrete.height;
- }
+ count+=4;
+ }
}
if (frmsize.index > 0)
@@ -1569,7 +1573,7 @@ int Sensor::getPictureSizes(int32_t picSizes[], int size, bool preview) {
} else if (preview_fmt == V4L2_PIX_FMT_YUYV)
frmsize.pixel_format = V4L2_PIX_FMT_YUYV;
- for(i=0;;i++, count += 2){
+ for (i = 0; ; i++) {
frmsize.index = i;
res = ioctl(vinfo->fd, VIDIOC_ENUM_FRAMESIZES, &frmsize);
if (res < 0){
@@ -1604,8 +1608,8 @@ int Sensor::getPictureSizes(int32_t picSizes[], int size, bool preview) {
picSizes[count - 1] = frmsize.discrete.height;
}
+ count += 2;
}
-
}
return count;