From 68f33086d4eaab077793b26ca36f9ffcc902b2d3 Mon Sep 17 00:00:00 2001 From: Guosong Zhou Date: Tue, 20 Jan 2015 03:29:59 +0000 Subject: 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 --- 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::iterator StreamIterator; typedef Vector 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; -- cgit