UIImagePickerController Camera UI Freezes on Audio Playback Error

Originator:mahyar
Number:rdar://12455465 Date Originated:08-Oct-2012 01:49 PM
Status:Open Resolved:No
Product:iPhone SDK Product Version:iOS 6
Classification:Hang Reproducible:Sometimes
 
08-Oct-2012 01:49 PM Mahyar McDonald:
Summary:

The UIImagePickerController Camera UI Freezes when it encounters an error trying to play the 'snap' sound when it takes a picture.   The freeze occurs when a 'kAudioUnitErr_FailedInitialization'  (error -10875) occurs in Apple's code.  Instead of gracefully handling this audio playback error and continuing as usual, the camera UI hangs and does not respond to user touches.  It stays stuck in the aperture closed visual (see attached screenshot).  The rest of the app works properly and is not frozen at this time.  When the audio error occurs, it usually does not play the sound at all, or is corrupted when it plays this sound.   Backgrounding the app and foregrounding it during this error states causes it to recover and play the snap sound after foregrounding.

This log is printed when it happens:
Oct  4 15:11:51 Louis-Vuitton kernel[0] <Debug>: AppleH4CamIn::setPowerStateGated: 0
Oct  4 15:11:51 Louis-Vuitton kernel[0] <Debug>: AppleH4CamIn::power_off_hardware
Oct  4 15:11:51 Louis-Vuitton kernel[0] <Debug>: AppleH4CamIn::setPowerStateGated: 1
Oct  4 15:11:51 Louis-Vuitton kernel[0] <Debug>: AppleH4CamIn::power_on_hardware
Oct  4 15:11:51 Louis-Vuitton kernel[0] <Debug>: AppleH4CamIn::ISP_SelectBestMIPIFrequencyIndex_gated - channel: 1, index: 0
Oct  4 15:11:51 Louis-Vuitton mediaserverd[37] <Error>: 15:11:51.876 <CAListenerProxy> AURemoteIO::ChangeHardwareFormats: error -10875
Oct  4 15:11:51 Louis-Vuitton kernel[0] <Debug>: AppleH4CamIn::setPowerStateGated: 0
Oct  4 15:11:51 Louis-Vuitton kernel[0] <Debug>: AppleH4CamIn::power_off_hardware

Steps to Reproduce:

0. Inside the 'Tango Video Call' app inside a conversation with a user:

1. Record and send a video message to a user
2. After the video message is sent, tap the "+" and select 'Take Photo'
3. Press the camera button to take a picture
4. Press Retake
5. Press the camera button to take another picture

RESULT: Repeat steps 4 & 5 and Tango will eventually freeze and become stuck. (like shown in screenshot)

EXPECTED: Tango should not freeze.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!