I have a crappy $1 USB camera. Works in Photobooth everytime.
With memoryio, It will capture a photo once or twice. In the log it looks OK. (See pasted text [1] below.) After a few forced photos, it will refuse to capture, looking like this (see pasted text [2] below) in the log.
I can make it work again by any one of the following methods:
A) Unplug and replug in the USB camera. No need to quit the app.
B) Restart the app
C) Press the hardware button on top of the camera itself. (Maybe this forces a capture of a frame or some driver reset or something?)
Not sure if more non-apple USB cameras may be effected, but it is possible many use a cheap chipset. Perhaps a device reset is needed before a capture, or something whatever the hardware button does, to account for crappy cameras.
I have a crappy $1 USB camera. Works in Photobooth everytime. With memoryio, It will capture a photo once or twice. In the log it looks OK. (See pasted text [1] below.) After a few forced photos, it will refuse to capture, looking like this (see pasted text [2] below) in the log. I can make it work again by any one of the following methods: A) Unplug and replug in the USB camera. No need to quit the app. B) Restart the app C) Press the hardware button on top of the camera itself. (Maybe this forces a capture of a frame or some driver reset or something?)
Not sure if more non-apple USB cameras may be effected, but it is possible many use a cheap chipset. Perhaps a device reset is needed before a capture, or something whatever the hardware button does, to account for crappy cameras.
Good capture log text [1]: 2013-10-20 18:43:29.100 memoryio[39077:430f] Starting device... 2013-10-20 18:43:29.101 memoryio[39077:430f] Starting capture session... 2013-10-20 18:43:29.102 memoryio[39077:430f] Creating QTCaptureSession... 2013-10-20 18:43:29.103 memoryio[39077:430f] Done. 2013-10-20 18:43:29.103 memoryio[39077:430f] Creating QTCaptureDeviceInput with USB 2.0 PC Camera #2... 2013-10-20 18:43:29.104 memoryio[39077:430f] Done. 2013-10-20 18:43:29.104 memoryio[39077:430f] Creating QTCaptureDecompressedVideoOutput... 2013-10-20 18:43:29.105 memoryio[39077:430f] Done. 2013-10-20 18:43:29.105 memoryio[39077:430f] Entering synchronized block to clear memory... 2013-10-20 18:43:29.106 memoryio[39077:430f] Done. 2013-10-20 18:43:29.106 memoryio[39077:430f] Session started. 2013-10-20 18:43:29.107 memoryio[39077:430f] Device started. 2013-10-20 18:43:29.107 memoryio[39077:430f] Delaying 2.00 seconds for warmup... 2013-10-20 18:43:29.539 memoryio[39077:b677] . 2013-10-20 18:43:29.604 memoryio[39077:b677] . 2013-10-20 18:43:29.670 memoryio[39077:b677] . 2013-10-20 18:43:29.736 memoryio[39077:b677] . 2013-10-20 18:43:29.802 memoryio[39077:b677] . 2013-10-20 18:43:29.901 memoryio[39077:b677] . 2013-10-20 18:43:29.966 memoryio[39077:b677] . 2013-10-20 18:43:30.073 memoryio[39077:b677] . 2013-10-20 18:43:30.138 memoryio[39077:b677] . 2013-10-20 18:43:30.267 memoryio[39077:b677] . 2013-10-20 18:43:30.399 memoryio[39077:b677] . 2013-10-20 18:43:30.530 memoryio[39077:b677] . 2013-10-20 18:43:30.660 memoryio[39077:b677] . 2013-10-20 18:43:30.800 memoryio[39077:b677] . 2013-10-20 18:43:30.929 memoryio[39077:b677] . 2013-10-20 18:43:31.027 memoryio[39077:b677] . 2013-10-20 18:43:31.108 memoryio[39077:430f] Warmup complete. 2013-10-20 18:43:31.108 memoryio[39077:430f] Taking snapshot... 2013-10-20 18:43:31.109 memoryio[39077:430f] Entering synchronized block to see if frame is captured yet... 2013-10-20 18:43:31.109 memoryio[39077:430f] Done. 2013-10-20 18:43:31.109 memoryio[39077:430f] Snapshot taken. 2013-10-20 18:43:31.110 memoryio[39077:430f] Stopping... 2013-10-20 18:43:31.110 memoryio[39077:430f] Stopping session... 2013-10-20 18:43:31.110 memoryio[39077:430f] CaptureSession != nil 2013-10-20 18:43:31.110 memoryio[39077:430f] Stopping CaptureSession... 2013-10-20 18:43:31.333 memoryio[39077:430f] Done. 2013-10-20 18:43:31.334 memoryio[39077:430f] Shutting down 'stopSession(..)' 2013-10-20 18:43:31.335 memoryio[39077:430f] Stopped. 2013-10-20 18:43:31.359 memoryio[39077:430f] Creating folder
Bad capture log text after good capture [2]: 2013-10-20 18:53:19.407 memoryio[39077:8d4f] Starting device... 2013-10-20 18:53:19.408 memoryio[39077:8d4f] Starting capture session... 2013-10-20 18:53:19.408 memoryio[39077:8d4f] Creating QTCaptureSession... 2013-10-20 18:53:19.409 memoryio[39077:8d4f] Done. 2013-10-20 18:53:19.409 memoryio[39077:8d4f] Creating QTCaptureDeviceInput with USB 2.0 PC Camera #2... 2013-10-20 18:53:19.410 memoryio[39077:8d4f] Done. 2013-10-20 18:53:19.410 memoryio[39077:8d4f] Creating QTCaptureDecompressedVideoOutput... 2013-10-20 18:53:19.410 memoryio[39077:8d4f] Done. 2013-10-20 18:53:19.411 memoryio[39077:8d4f] Entering synchronized block to clear memory... 2013-10-20 18:53:19.411 memoryio[39077:8d4f] Done. 2013-10-20 18:53:19.412 memoryio[39077:8d4f] Session started. 2013-10-20 18:53:19.412 memoryio[39077:8d4f] Device started. 2013-10-20 18:53:19.412 memoryio[39077:8d4f] Delaying 2.00 seconds for warmup... 2013-10-20 18:53:21.413 memoryio[39077:8d4f] Warmup complete. 2013-10-20 18:53:21.414 memoryio[39077:8d4f] Taking snapshot... 2013-10-20 18:53:21.415 memoryio[39077:8d4f] Entering synchronized block to see if frame is captured yet... 2013-10-20 18:53:21.415 memoryio[39077:8d4f] Done. 2013-10-20 18:53:21.416 memoryio[39077:8d4f] Snapshot taken. 2013-10-20 18:53:21.417 memoryio[39077:8d4f] Stopping... 2013-10-20 18:53:21.417 memoryio[39077:8d4f] Stopping session... 2013-10-20 18:53:21.418 memoryio[39077:8d4f] CaptureSession != nil 2013-10-20 18:53:21.418 memoryio[39077:8d4f] Stopping CaptureSession... 2013-10-20 18:53:21.645 memoryio[39077:8d4f] Done. 2013-10-20 18:53:21.645 memoryio[39077:8d4f] Shutting down 'stopSession(..)' 2013-10-20 18:53:21.647 memoryio[39077:8d4f] Stopped. Oct 20 18:53:21 havok.local memoryio[39077]: ImageIO: CGImageDestinationAddImageFromSource image 0 of source is nil
Oct 20 18:53:21 havok.local memoryio[39077] : ImageIO: CGImageDestinationFinalize image destination does not have enough images
2013-10-20 18:53:21.648 memoryio[39077:8d4f] *Could not create data from image destination *