mmmmmm that looks strange.

>From the stack-trace it (almost) looks like you're trying to access a
2nd camera on the device. I have no idea of how that could happen or
why it would even try to do so.
But, then again, i could be completely wrong and of no help to you at
all.. :)

============
W/CameraSwitch( 3801): open main camera
W/CameraSwitch( 3801): no file - can't switch camera
E/CameraSwitch( 3801): setSwitchFile failed: /sys/android_camera2/
htcwc
E/CameraSwitch( 3801): java.io.FileNotFoundException: /sys/
android_camera2/htcwc
============



On Apr 20, 10:32 am, Jo Vermeulen <[email protected]> wrote:
> Hi,
>
> I have a problem with a simple application that captures images from
> the camera. It works on the emulator, but throws an exception when I
> run it on the HTC Desire.
>
> Here are the relevant log messages:
>
> W/CameraSwitch( 3801): open main camera
> W/CameraSwitch( 3801): no file - can't switch camera
> E/CameraSwitch( 3801): setSwitchFile failed: /sys/android_camera2/
> htcwc
> E/CameraSwitch( 3801): java.io.FileNotFoundException: /sys/
> android_camera2/htcwc
>
> E/CameraSwitch( 3801):  at
> org.apache.harmony.luni.platform.OSFileSystem.open(OS
> FileSystem.java:244)
> E/CameraSwitch( 3801):  at
> java.io.FileOutputStream.<init>(FileOutputStream.java
> :97)
> E/CameraSwitch( 3801):  at java.io.FileWriter.<init>(FileWriter.java:
> 58)
> E/CameraSwitch( 3801):  at
> android.hardware.CameraSwitch.setSwitchFile(CameraSwi
> tch.java:44)
> E/CameraSwitch( 3801):  at
> android.hardware.CameraSwitch.openMainCamera(CameraSw
> itch.java:22)
> E/CameraSwitch( 3801):  at android.hardware.Camera.open(Camera.java:
> 90)
> E/CameraSwitch( 3801):  at
> be.uhasselt.edm.research.sherlock.CameraPreview.surfa
> ceCreated(SherlockActivity.java:51)
> E/CameraSwitch( 3801):  at
> android.view.SurfaceView.updateWindow(SurfaceView.jav
> a:454)
> E/CameraSwitch( 3801):  at
> android.view.SurfaceView.dispatchDraw(SurfaceView.jav
> a:287)
> E/CameraSwitch( 3801):  at
> android.view.ViewGroup.drawChild(ViewGroup.java:1583)
>
> E/CameraSwitch( 3801):  at
> android.view.ViewGroup.dispatchDraw(ViewGroup.java:13
> 12)
> E/CameraSwitch( 3801):  at android.view.View.draw(View.java:6538)
> E/CameraSwitch( 3801):  at
> android.widget.FrameLayout.draw(FrameLayout.java:352)
>
> E/CameraSwitch( 3801):  at
> android.view.ViewGroup.drawChild(ViewGroup.java:1585)
>
> E/CameraSwitch( 3801):  at
> android.view.ViewGroup.dispatchDraw(ViewGroup.java:13
> 12)
> E/CameraSwitch( 3801):  at android.view.View.draw(View.java:6538)
> E/CameraSwitch( 3801):  at
> android.widget.FrameLayout.draw(FrameLayout.java:352)
>
> E/CameraSwitch( 3801):  at com.android.internal.policy.impl.PhoneWindow
> $DecorVie
> w.draw(PhoneWindow.java:1866)
> E/CameraSwitch( 3801):  at android.view.ViewRoot.draw(ViewRoot.java:
> 1364)
> E/CameraSwitch( 3801):  at
> android.view.ViewRoot.performTraversals(ViewRoot.java
> :1118)
> E/CameraSwitch( 3801):  at
> android.view.ViewRoot.handleMessage(ViewRoot.java:165
> 0)
> E/CameraSwitch( 3801):  at
> android.os.Handler.dispatchMessage(Handler.java:99)
> E/CameraSwitch( 3801):  at android.os.Looper.loop(Looper.java:123)
> E/CameraSwitch( 3801):  at
> android.app.ActivityThread.main(ActivityThread.java:4
> 595)
> E/CameraSwitch( 3801):  at
> java.lang.reflect.Method.invokeNative(Native Method)
> E/CameraSwitch( 3801):  at java.lang.reflect.Method.invoke(Method.java:
> 521)
> E/CameraSwitch( 3801):  at com.android.internal.os.ZygoteInit
> $MethodAndArgsCalle
> r.run(ZygoteInit.java:860)
> E/CameraSwitch( 3801):  at
> com.android.internal.os.ZygoteInit.main(ZygoteInit.ja
> va:618)
> E/CameraSwitch( 3801):  at dalvik.system.NativeStart.main(Native
> Method)
> D/CameraService(   57): CameraService::connect E (pid 3801, client
> 0x267f0)
> D/CameraService(   57): Client::Client E (pid 3801)
> V/QualcommCameraHardware(   57): openCameraHardware: call
> createInstance
> D/QualcommCameraHardware(   57): createInstance: E
> V/QualcommCameraHardware(   57): constructor EX
> V/QualcommCameraHardware(   57): startCamera E
> V/QualcommCameraHardware(   57): loading liboemcamera at 0xb00140d0
> I/QualcommCameraHardware(   57): Set main cam and main cam only
> I/mm-camera-mmap(   57): set sensor selection :0
> I/QualcommCameraHardware(   57): Open Device node : /dev/msm_camera/
> control0
> I/mm-camera-config(   57): cam_conf fd cfgctrl.camfd:0
> I/mm-camera-config(   57): Open config device node : /dev/msm_camera/
> config0
> I/        (   57): [AWB Calibration]:ctrlfd:26
> I/        (   57): [AWB Calibration] cfg.fuse_id_word1:0x0
> I/        (   57): [AWB Calibration] cfg.fuse_id_word2:0x0
> I/        (   57): [AWB Calibration] cfg.fuse_id_word3:0x45002
> I/        (   57): [AWB Calibration] cfg.fuse_id_word4:0x22e645
> I/        (   57): [AWB Calibration] rg_ratio_GS_table[0]:0.733340
> I/        (   57): [AWB Calibration] rg_ratio_GS_table[1]:0.733340
> I/        (   57): [AWB Calibration] rg_ratio_GS_table[2]:0.754883
> I/        (   57): [AWB Calibration] bg_ratio_GS_table[0]:0.601600
> I/        (   57): [AWB Calibration] bg_ratio_GS_table[1]:0.601600
> I/        (   57): [AWB Calibration] bg_ratio_GS_table[2]:0.598633
> I/        (   57): [AWB Calibration] sfuse.fuse_id_word1:0x0
> I/        (   57): [AWB Calibration] sfuse.fuse_id_word2:0x0
> I/        (   57): [AWB Calibration] sfuse.fuse_id_word3:0x45002
> I/        (   57): [AWB Calibration] sfuse.fuse_id_word4:0x22e645
> I/        (   57): [AWB Calibration] fuse_id : 0x0, 0x0, 0x45002,
> 0x22e645
> I/        (   57): [AWB Calibration] fail to read /data/awb_cal
> I/        (   57): [AWB Calibration] read from file OK: /sys/
> android_camera_awb_
> cal/awb_ca
> I/        (   57): [AWB Calibration] read all c1b ,ok=1
> I/        (   57): [AWB Calibration] read all 323 ,ok=1
> I/        (   57): [AWB Calibration] read all 230 ,ok=1
> I/        (   57): [AWB Calibration] read all 0 ,ok=1
> I/        (   57): [AWB Calibration] read all 0 ,ok=1
> I/        (   57): [AWB Calibration] read all 45002 ,ok=1
> I/        (   57): [AWB Calibration] read all 22e645 ,ok=1
> I/        (   57): [AWB Calibration] read all b538fe81 ,ok=1
> I/        (   57): [AWB Calibration] check sum=b538fe81, OK
> I/        (   57): [AWB Calibration] caBuff[0]:0x00000c1b
> I/        (   57): [AWB Calibration] caBuff[1]:0x00000323
> I/        (   57): [AWB Calibration] caBuff[2]:0x00000230
> I/        (   57): [AWB Calibration] caBuff[3]:0x00000000
> I/        (   57): [AWB Calibration] caBuff[4]:0x00000000
> I/        (   57): [AWB Calibration] caBuff[5]:0x00045002
> I/        (   57): [AWB Calibration] caBuff[6]:0x0022e645
> I/        (   57): [AWB Calibration] caBuff[7]:0xb538fe81
> I/        (   57): [AWB Calibration] fuse_id_word1:0x00000000
> I/        (   57): [AWB Calibration] fuse_id_word2:0x00000000
> I/        (   57): [AWB Calibration] fuse_id_word3:0x00045002
> I/        (   57): [AWB Calibration] fuse_id_word4:0x0022e645
> I/        (   57): [AWB Calibration] caBuff[0]:3099
> I/        (   57): [AWB Calibration] valid bit and fuseID pass, use
> new white po
> ints
> I/        (   57): [AWB Calibration] use light version: v3
> I/mm-camera-aec(   57): Touch AEC  == numRegions:256
> I/mm-camera-aec(   57): Touch AEC aecCtrl->aec_state.aec_algo:1
> I/QualcommCameraHardware(   57): startCamera: camsensor name s5k3e2fx,
> flash 1
> V/QualcommCameraHardware(   57): startCamera X
> V/QualcommCameraHardware(   57): initDefaultParameters E
> V/QualcommCameraHardware(   57): setParameters: E params = 0x4af24
> V/QualcommCameraHardware(   57): requested preview size 720 x 480
> V/QualcommCameraHardware(   57): requested picture size 1024 x 768
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 21,
> length 4
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 15,
> length 4
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 14,
> length 4
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 49,
> length 4
> I/QualcommCameraHardware(   57): Setting Zoom is 0
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 2,
> length 4
> I/QualcommCameraHardware(   57): Setting Contrast is 5
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 6,
> length 4
> I/QualcommCameraHardware(   57): Setting Brightness is 3
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 7,
> length 4
> I/QualcommCameraHardware(   57): Setting Saturation is 5
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 11,
> length 4
> I/QualcommCameraHardware(   57): Setting Sharpness is 10
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 9,
> length 4
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 12,
> length 4
> I/mm-camera-ctrlcmd(   57): md.d.aec_mode.aec_mode:1
> I/mm-camera-aec(   57): Touch AEC  == numRegions:256
> I/mm-camera-aec(   57): Touch AEC aecCtrl->aec_state.aec_algo:1
> D/QualcommCameraHardware(   57): not defined touch-focus yet, or AP
> without touc
> h-focus function
> I/QualcommCameraHardware(   57): Before Setting coordinate x:360 y:240
> I/QualcommCameraHardware(   57): Setting coordinate x:2 y:2
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 55,
> length 28
> I/mm-camera 8x vfe(   57): vfe_set_coordinate x:2 y:2
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 26,
> length 4
> D/mm-camera-ctrlcmd(   57): md.d.aec_iso_mode = 0
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 57,
> length 4
> D/QualcommCameraHardware(   57): virtual android::status_t
> android::QualcommCame
> raHardware::setParameters(const android::CameraParameters&),
> final_rc=0
> V/QualcommCameraHardware(   57): setParameters: X
> V/QualcommCameraHardware(   57): initDefaultParameters X
> D/QualcommCameraHardware(   57): createInstance: X created
> hardware=0x4af20
> D/CameraService(   57): Client::Client X (pid 3801)
> D/CameraService(   57): CameraService::connect X
> D/CameraService(   57): setPreviewDisplay(0x58418) (pid 3801)
> I/CameraService(   57): OLAWORK
> getParameters(antibanding=auto;antibanding-value
> s=off,50hz,60hz,auto;brightness=3;brightness-def=3;brightness-
> max=6;brightness-m
> in=0;contrast=5;contrast-def=5;contrast-max=10;contrast-
> min=0;effect=none;effect
> -values=none,mono,negative,solarize,sepia,posterize,aqua;flash-
> mode=off;flash-mo
> de-values=off,auto,on;focus-mode=auto;focus-mode-
> values=auto,infinity;iso=auto;i
> so-values=auto,deblur,100,200,400,800,1250;jpeg-quality=100;jpeg-
> thumbnail-heigh
> t=384;jpeg-thumbnail-quality=90;jpeg-thumbnail-width=512;max-
> zoom=5;meter-mode=m
> eter-center;meter-mode-values=meter-average,meter-center,meter-
> spot;picture-form
> at=jpeg;picture-format-values=jpeg;picture-size=1024x768;picture-size-
> values=259
> 2x1952,2592x1728,2592x1552,2560x1920,2560x1712,2048x1536,2048x1360,2048x121­6,201
> 6x1344,1600x1200,1584x1056,1280x960,1280x848,1280x768,1248x832,1024x768,640­x480,
> 640x416,640x384,624x416,512x384,400x400,272x272;preview-
> format=yuv420sp;preview-
> format-values=yuv420sp;preview-frame-rate=15;preview-
> size=720x480;preview-size-v
> alues=1
> D/CameraService(   57): setParameters(sharpness-max=30;zoom=0;taking-
> picture-zoo
> m=0;zoom-supported=true;sharpness-
> min=0;sharpness=10;contrast=5;whitebalance=aut
> o;jpeg-quality=100;preview-format-values=yuv420sp;jpeg-thumbnail-
> quality=90;prev
> iew-format=yuv420sp;preview-size=320x508;iso=auto;meter-mode=meter-
> center;flash-
> mode-values=off,auto,on;preview-frame-rate=15;focus-mode-
> values=auto,infinity;jp
> eg-thumbnail-width=512;saturation-def=5;preview-size-
> values=1280x720,800x480,720
> x480,640x480,576x432,480x320,400x240,384x288,352x288,320x240,272x272,240x24­0,240
> x160,176x144;smart-contrast=off;picture-size-
> values=2592x1952,2592x1728,2592x155
> 2,2560x1920,2560x1712,2048x1536,2048x1360,2048x1216,2016x1344,1600x1200,158­4x105
> 6,1280x960,1280x848,1280x768,1248x832,1024x768,640x480,640x416,640x384,624x­416,5
> 12x384,400x400,272x272;contrast-min=0;brightness-
> min=0;antibanding=auto;taking-p
> icture-zoom-min=0;saturation-min=1;contrast-max=10;taking-picture-zoom-
> max=20;co
> ntrast-def=5;brightness-max=6;brightness=3;jpeg-thumbnail-
> height=384;focus-mode=
> auto;sh
> V/QualcommCameraHardware(   57): setParameters: E params = 0x40a60d08
> V/QualcommCameraHardware(   57): requested preview size 320 x 508
> E/QualcommCameraHardware(   57): Invalid preview size requested:
> 320x508
> E/QualcommCameraHardware(   57): virtual android::status_t
> android::QualcommCame
> raHardware::setParameters(const android::CameraParameters&): 2109, rc
> = -22
> V/QualcommCameraHardware(   57): requested picture size 1024 x 768
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 21,
> length 4
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 15,
> length 4
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 14,
> length 4
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 49,
> length 4
> I/QualcommCameraHardware(   57): Setting Zoom is 0
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 2,
> length 4
> I/QualcommCameraHardware(   57): Setting Contrast is 5
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 6,
> length 4
> I/QualcommCameraHardware(   57): Setting Brightness is 3
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 7,
> length 4
> I/QualcommCameraHardware(   57): Setting Saturation is 5
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 11,
> length 4
> I/QualcommCameraHardware(   57): Setting Sharpness is 10
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 9,
> length 4
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 12,
> length 4
> I/mm-camera-ctrlcmd(   57): md.d.aec_mode.aec_mode:1
> I/mm-camera-aec(   57): Touch AEC  == numRegions:256
> I/mm-camera-aec(   57): Touch AEC aecCtrl->aec_state.aec_algo:1
> D/QualcommCameraHardware(   57): not defined touch-focus yet, or AP
> without touc
> h-focus function
> I/QualcommCameraHardware(   57): Before Setting coordinate x:360 y:240
> I/QualcommCameraHardware(   57): Setting coordinate x:2 y:2
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 55,
> length 28
> I/mm-camera 8x vfe(   57): vfe_set_coordinate x:2 y:2
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 26,
> length 4
> D/mm-camera-ctrlcmd(   57): md.d.aec_iso_mode = 0
> V/QualcommCameraHardware(   57): native_set_parm: fd 12, type 57,
> length 4
> D/QualcommCameraHardware(   57): virtual android::status_t
> android::QualcommCame
> raHardware::setParameters(const android::CameraParameters&),
> final_rc=-22
> V/QualcommCameraHardware(   57): setParameters: X
> D/dalvikvm(  377): GC freed 189 objects / 9440 bytes in 87ms
> I/WindowManager(   75): Setting rotation to 1, animFlags=0
> I/ActivityManager(   75): Config changed: { scale=1.0 imsi=0/0
> loc=en_NL touch=3
>  keys=1/1/2 nav=3/1 orien=2 layout=34}
> D/PhoneApp(  153): updateProximitySensorMode: state = IDLE
> D/PhoneApp(  153): updateProximitySensorMode: lock already released.
> D/BackupManagerService(   75): Now awaiting backup for 1 participants:
> D/BackupManagerService(   75):     +
> BackupRequest{app=ApplicationInfo{46678b88
> com.android.providers.settings} full=false}
> agent=com.android.providers.settings
> .SettingsBackupAgent
> I/CalendarProvider(  258): updateCalendarNameByLocale
> I/CalendarProvider(  258): updateCalendarNameByLocale
> I/CalendarProvider(  258): update locale:NLD
> I/CalendarProvider(  258): Locale doesn't change, so return it
>
> And this is my code:
>
> public class SherlockActivity extends Activity {
>         private CameraPreview _preview;
>
>     /** Called when the activity is first created. */
>     @Override
>     public void onCreate(Bundle savedInstanceState) {
>         super.onCreate(savedInstanceState);
>
>         // Hide the window title.
>         requestWindowFeature(Window.FEATURE_NO_TITLE);
>
>         // create our preview view and set it as the content of the
> activity.
>         _preview = new CameraPreview(this);
>         setContentView(_preview);
>     }
>
> }
>
> class CameraPreview extends SurfaceView implements
> SurfaceHolder.Callback {
>         SurfaceHolder _holder;
>         Camera _camera;
>
>         CameraPreview(Context context) {
>                 super(context);
>
>                 // Install a SurfaceHolder.Callback so we get notified when
>                 // the underlying surface is created and destroyed.
>                 _holder = getHolder();
>                 _holder.addCallback(this);
>                 _holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
>         }
>
>         public void surfaceCreated(SurfaceHolder holder) {
>                 // The Surface has been created, acquire the camera and
>                 // tell it where to draw.
>                 _camera = Camera.open();
>                 try {
>                         _camera.setPreviewDisplay(holder);
>                 } catch (IOException exception) {
>                         _camera.release();
>                         _camera = null;
>                         // TODO: more exception handling logic
>                 }
>         }
>
>         public void surfaceDestroyed(SurfaceHolder holder) {
>                 // Surface will be destroyed when we return, so stop the 
> preview.
>                 // Because the CameraDevice object is not a shared resource, 
> it's
> very
>                 // important to release it when the activity is paused.
>                 _camera.stopPreview();
>                 _camera.release();
>                 _camera = null;
>         }
>
>         public void surfaceChanged(SurfaceHolder holder, int format, int w,
> int h) {
>                 // Now that the size is known, set up the camera parameters 
> and
> begin
>                 // the preview.
>                 Camera.Parameters parameters = _camera.getParameters();
>                 parameters.setPreviewSize(w, h);
>                 _camera.setParameters(parameters);
>                 _camera.startPreview();
>         }
>
> }
>
> I have used the correct <uses-permission> and <uses-feature> tags in
> my manifest file:
>
> <uses-permission android:name="android.permission.CAMERA" />
> <uses-feature android:name="android.hardware.camera" />
> <uses-feature android:name="android.hardware.camera.autofocus" />
>
> Thanks in advance!
>
> Cheers,
>
> -- Jo
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group 
> athttp://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to