summaryrefslogtreecommitdiff
authorguosong.zhou <guosong.zhou@amlogic.com>2014-12-05 06:55:40 (GMT)
committer guosong.zhou <guosong.zhou@amlogic.com>2014-12-05 06:55:40 (GMT)
commit064d0499f8c23c631285dc4baf0c4a6484d7b139 (patch)
tree19a7fba589ff975515dadffc0ea764db1044f83b
parent07cd1dde1327afe0f41caeb42aeee8d556755576 (diff)
downloadcamera-064d0499f8c23c631285dc4baf0c4a6484d7b139.zip
camera-064d0499f8c23c631285dc4baf0c4a6484d7b139.tar.gz
camera-064d0499f8c23c631285dc4baf0c4a6484d7b139.tar.bz2
Don't display MJPEG frame when MJPEG decode failed
Change-Id: I1dcc5b27cf94cf570cf4fc859e2a4b6698c0ef79
Diffstat
-rwxr-xr-xv3/EmulatedFakeCamera3.cpp6
-rwxr-xr-xv3/fake-pipeline2/Sensor.cpp2
2 files changed, 7 insertions, 1 deletions
diff --git a/v3/EmulatedFakeCamera3.cpp b/v3/EmulatedFakeCamera3.cpp
index 4fde128..7ec3335 100755
--- a/v3/EmulatedFakeCamera3.cpp
+++ b/v3/EmulatedFakeCamera3.cpp
@@ -1838,7 +1838,11 @@ status_t EmulatedFakeCamera3::constructStaticInfo() {
}
ret = s->getZoom(&mZoomMin, &mZoomMax, &mZoomStep);
- if (ret == 0) {
+ if (ret < 0) {
+ float maxZoom = 1.0;
+ info.update(ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM,
+ &maxZoom, 1);
+ } else {
float maxZoom = mZoomMax / mZoomMin;
info.update(ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM,
&maxZoom, 1);
diff --git a/v3/fake-pipeline2/Sensor.cpp b/v3/fake-pipeline2/Sensor.cpp
index b034f4f..37adec2 100755
--- a/v3/fake-pipeline2/Sensor.cpp
+++ b/v3/fake-pipeline2/Sensor.cpp
@@ -1841,6 +1841,8 @@ void Sensor::captureNV21(StreamBuffer b, uint32_t gain) {
if (ConvertMjpegToNV21(src, vinfo->preview.buf.bytesused, b.img,
width, b.img + width * height, (width + 1) / 2, width,
height, width, height, libyuv::FOURCC_MJPG) != 0) {
+ putback_frame(vinfo);
+ continue;
DBG_LOGA("Decode MJPEG frame failed\n");
}
} else {