summaryrefslogtreecommitdiff
authorjiyu.yang <jiyu.yang@amlogic.com>2013-08-28 09:27:17 (GMT)
committer brian.zhu <brian.zhu@amlogic.com>2013-09-19 04:30:37 (GMT)
commit24eb800dabe6750ad0278b1ac0155d8681d8a510 (patch)
treef227cabb53e9ab82034cf258e605d9b41705a718
parent5a1705de4661742fbf7aa57fdbaed9591cc5ab5a (diff)
downloadcamera-24eb800dabe6750ad0278b1ac0155d8681d8a510.zip
camera-24eb800dabe6750ad0278b1ac0155d8681d8a510.tar.gz
camera-24eb800dabe6750ad0278b1ac0155d8681d8a510.tar.bz2
enumFramerate and banding bug
fix enumFrame func bug. remove "," at the end of banding
Diffstat
-rwxr-xr-xV4LCameraAdapter/V4LCameraAdapter.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/V4LCameraAdapter/V4LCameraAdapter.cpp b/V4LCameraAdapter/V4LCameraAdapter.cpp
index d1472d0..4b95230 100755
--- a/V4LCameraAdapter/V4LCameraAdapter.cpp
+++ b/V4LCameraAdapter/V4LCameraAdapter.cpp
@@ -1403,7 +1403,7 @@ int V4LCameraAdapter::previewThread()
memcpy( &previewTime1, &previewTime2, sizeof( struct timeval));
active_duration = mFrameInv - mFrameInvAdjust;
- if((mFrameInv + 20000 > mExpectedFrameInv) //kTestSlopMargin = 20ms from CameraGLTest
+ if((mFrameInv + 20000 > (int)mExpectedFrameInv) //kTestSlopMargin = 20ms from CameraGLTest
&&((active_duration>previewframeduration)||((active_duration + 5000)>previewframeduration))){ // more preview duration -5000 us
if(noFrame == false){ //current catch a picture,use it and release tmp buf;
if( mCache.index != -1){
@@ -2302,6 +2302,7 @@ static bool getCameraBanding(int camera_fd, char* banding_modes, char*def_bandin
item_count = enumCtrlMenu( camera_fd, &qc, banding_modes, def_banding_mode);
#ifdef AMLOGIC_USB_CAMERA_SUPPORT
+ char *b;
tmpbuf = (char *) calloc (1, 256);
memset( tmpbuf, 0, 256);
if( (0 < item_count)&&( NULL!= tmpbuf)){
@@ -2327,6 +2328,11 @@ static bool getCameraBanding(int camera_fd, char* banding_modes, char*def_bandin
item_count ++;
strcat( tmpbuf, "60hz,");
}
+
+ b = strrchr(tmpbuf, ',');
+ if(NULL != b){
+ b[0] = '\0';
+ }
strcpy( banding_modes, tmpbuf);
memset(tmpbuf, 0, 256);
if( NULL != (tmp = strstr(def_banding_mode, "50")) ){
@@ -2635,7 +2641,7 @@ extern "C" void loadCaps(int camera_id, CameraProperties::Properties* params) {
memset(fpsrange,0,sizeof(fpsrange));
ret = enumFramerate(camera_fd, &fps, &fps_num);
- if((NO_ERROR == ret) && ( 0 !=fps_num )){
+ if((NO_ERROR == ret) && ( 0 !=fps )){
CAMHAL_LOGDA("O_NONBLOCK operation to do previewThread\n");
int tmp_fps = fps/fps_num/5;
int iter = 0;