author | sky.zhou <sky.zhou@droid04.amlogic.com> | 2011-12-24 05:23:12 (GMT) |
---|---|---|
committer | sky.zhou <sky.zhou@droid04.amlogic.com> | 2011-12-24 05:23:12 (GMT) |
commit | 1427a8397033e5f1963390d9051cf40c1e61663f (patch) | |
tree | 60db4d74de2186c2fb4b4b95def7e4131a76bc6f | |
parent | c946f590487dc79f71546838f739e28e4937c18e (diff) | |
download | camera-1427a8397033e5f1963390d9051cf40c1e61663f.zip camera-1427a8397033e5f1963390d9051cf40c1e61663f.tar.gz camera-1427a8397033e5f1963390d9051cf40c1e61663f.tar.bz2 |
Revert "add protect when calling callback for preview thread"
This reverts commit c946f590487dc79f71546838f739e28e4937c18e.
-rwxr-xr-x | BaseCameraAdapter.cpp | 60 |
1 files changed, 2 insertions, 58 deletions
diff --git a/BaseCameraAdapter.cpp b/BaseCameraAdapter.cpp index 9a37b06..4303b6e 100755 --- a/BaseCameraAdapter.cpp +++ b/BaseCameraAdapter.cpp @@ -233,7 +233,7 @@ void BaseCameraAdapter::addFramePointers(void *frameBuf, void *buf) frame->mYuv[1] = pBuf[1]; mFrameQueue.add(frameBuf, frame); - CAMHAL_LOGDB("Adding Frame=0x%x Y=0x%x UV=0x%x", (uint32_t)frame->mBuffer, frame->mYuv[0], frame->mYuv[1]); + CAMHAL_LOGDB("Adding Frame=0x%x Y=0x%x UV=0x%x", frame->mBuffer, frame->mYuv[0], frame->mYuv[1]); } } @@ -1231,11 +1231,6 @@ status_t BaseCameraAdapter::__sendFrameToSubscribers(CameraFrame* frame, return -EINVAL; } - if(subscribers->size() == 0){ - CAMHAL_LOGDA("Invalid subscribers size of 0"); - return -EINVAL; - } - if (refCount > subscribers->size()) { CAMHAL_LOGEB("Invalid ref count for frame type: 0x%x", frameType); return -EINVAL; @@ -1246,57 +1241,6 @@ status_t BaseCameraAdapter::__sendFrameToSubscribers(CameraFrame* frame, ( uint32_t ) frame->mBuffer, refCount);*/ - KeyedVector<uint32_t, uint32_t> subscribers_ref; - for(uint32_t i = 0; i<subscribers->size();i++){ - subscribers_ref.add((int) subscribers->keyAt(i),0); - } - uint32_t k = 0; - void* Cookie_ref = NULL; - void* callback_ref = NULL; - bool is_find = false; - while(k<subscribers->size()){ - is_find = false; - frame->mCookie = ( void * ) subscribers->keyAt(k); - callback = (frame_callback) subscribers->valueAt(k); - - if ((!callback) ||(!frame->mCookie)){ - CAMHAL_LOGEB("callback not set for frame type: 0x%x, index:%d", frameType,k); - k++; - continue; - } - - for(uint32_t i = 0; i<subscribers_ref.size();i++){ - if((frame->mCookie == ( void * ) subscribers_ref.keyAt(i))&&(subscribers_ref.valueAt(i) == 0)){ - subscribers_ref.replaceValueFor((uint32_t)frame->mCookie,1); - //CAMHAL_LOGDB("Frame callbback is available, cookie:0x%x, callback:0x%x",(uint32_t)frame->mCookie,(uint32_t)callback); - callback(frame); - k = 0; - is_find = true; - break; - } - } - if(is_find){ - k = 0; - if(refCount>0){ - refCount--; - } - else{ - CAMHAL_LOGEB("ref count has reached 0!ref size:%d, cur size:%d",subscribers_ref.size(),subscribers->size()); - } - }else{ - //CAMHAL_LOGDB("Frame callbback is unavailable for some reason, cookie:0x%x, callback:0x%x,index:%d",(uint32_t)frame->mCookie,(uint32_t)callback,k); - k++; - } - } - - if(refCount){ - //CAMHAL_LOGDB("%d frame(s) need be returned for some error case!",refCount); - for(k = 0;k<refCount;k++){ - returnFrame(frame->mBuffer, frameType); - } - } - subscribers_ref.clear(); -#if 0 for ( unsigned int i = 0 ; i < refCount; i++ ) { frame->mCookie = ( void * ) subscribers->keyAt(i); callback = (frame_callback) subscribers->valueAt(i); @@ -1305,9 +1249,9 @@ status_t BaseCameraAdapter::__sendFrameToSubscribers(CameraFrame* frame, CAMHAL_LOGEB("callback not set for frame type: 0x%x", frameType); return -EINVAL; } + callback(frame); } -#endif } else { CAMHAL_LOGEA("Subscribers is null??"); return -EINVAL; |