summaryrefslogtreecommitdiff
authorVinson Xu <binsheng.xu@amlogic.com>2014-09-22 02:10:16 (GMT)
committer Sandy lUo <sandy.luo@amlogic.com>2014-09-22 02:10:20 (GMT)
commit0643940b60a4961b4ec4553b1ad71ae18ffd4abb (patch)
tree9544bc6452f343585bfc39e16e7314b25a230ceb
parente24c16f49bc1240638780e254fcecf2e96098d68 (diff)
downloadscreen_source-0643940b60a4961b4ec4553b1ad71ae18ffd4abb.zip
screen_source-0643940b60a4961b4ec4553b1ad71ae18ffd4abb.tar.gz
screen_source-0643940b60a4961b4ec4553b1ad71ae18ffd4abb.tar.bz2
PD #83054 fix crash bug because of opening video device failed
fix compile error Change-Id: I4957de6cfe7b53372e501b53a141639c109a7069
Diffstat
-rwxr-xr-xv4l2_vdin.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/v4l2_vdin.cpp b/v4l2_vdin.cpp
index 007373d..fade940 100755
--- a/v4l2_vdin.cpp
+++ b/v4l2_vdin.cpp
@@ -122,18 +122,25 @@ vdin_screen_source::vdin_screen_source()
: mCameraHandle(-1),
mVideoInfo(NULL)
{
+ ALOGV("%s %d", __FUNCTION__, __LINE__);
+}
+
+int vdin_screen_source::init(){
+ ALOGV("%s %d", __FUNCTION__, __LINE__);
mCameraHandle = open("/dev/video11", O_RDWR| O_NONBLOCK);
- if (mCameraHandle < 0){
- ALOGE("[%s %d] mCameraHandle:%x", __FUNCTION__, __LINE__, mCameraHandle);
+ if (mCameraHandle < 0)
+ {
+ ALOGE("[%s %d] mCameraHandle:%x [%s]", __FUNCTION__, __LINE__, mCameraHandle,strerror(errno));
return -1;
}
mVideoInfo = (struct VideoInfo *) calloc (1, sizeof (struct VideoInfo));
- if (mVideoInfo == NULL){
+ if (mVideoInfo == NULL)
+ {
ALOGE("[%s %d] no memory for mVideoInfo", __FUNCTION__, __LINE__);
close(mCameraHandle);
return NO_MEMORY;
}
- mBufferCount = 4;
+ mBufferCount = 4;
mPixelFormat = V4L2_PIX_FMT_NV21;
mNativeWindowPixelFormat = HAL_PIXEL_FORMAT_YCrCb_420_SP;
mFrameWidth = 1280;
@@ -146,6 +153,7 @@ vdin_screen_source::vdin_screen_source()
mWorkThread = NULL;
mDataCB = NULL;
mOpen = false;
+ return NO_ERROR;
}
vdin_screen_source::~vdin_screen_source()