Using additional custom logging added to RaspiStill.c, I found that sometimes (arbitrarily) the following line hangs indefinitely:
if (mmal_port_parameter_set_boolean(camera_still_port, MMAL_PARAMETER_CAPTURE, 1) != MMAL_SUCCESS) *
In order to deal with this issue, I have set a timeout that kills raspistill and then restart it again. However, I would like to know how to further investigate this issue. Does anybody have any experience or ideas about this? Is it normal behavior for it to occassionally hang? What kind of direction should I be looking for?
Context: I am succesfully using raspistill to make a lot of photos every day (v2 camera board). I fork raspistill from a C++ application, using a custom version of RaspiStill.c where I send "keypresses" to raspistill to generate a photo. C++ keeps raspistill running for a few photos, and when it does not need to be used anymore (usually ~1 minute) it terminates the raspistill again. However, hanging on capture seems unrelated to these changes I made, and there is no visible correlation with how long raspistill has been open etc. I could not reproduce it consistently yet.
* I didn't use the code-block, that horrible grey text is unreadable!
