GitHub user afinlayson opened a pull request:

    https://github.com/apache/incubator-cordova-ios/pull/16

    2 fixes 

    As I mentioned on here
    
http://groups.google.com/group/phonegap/browse_thread/thread/4e367acfadb5947f/fd4ea2d92f610695
    I have a fix that opens up CDVSound to allow AVSession category to be set 
by the app, not by phonegap. It will however behave the exact same way as it 
does now for those who don't care.
    
    I have also fixed the crash I've been seeing with the camera. It looks like 
CDVCamera was being released before the CameraDelegate was done with it. I've 
created a work around so the delegate behaves like a retain property instead of 
an assign.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/afinlayson/incubator-cordova-ios master

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-cordova-ios/pull/16.patch

----
commit 7cd38cb4d7997a2df052aa1513f0df9f4ac446ea
Author: Alex Finlayson <[email protected]>
Date:   2012-05-11T11:37:43-07:00

    CB-391 fix wasn't solving our issue. We still saw a lot of crashes when 
taking photos.
    I noticed that CDVCamera wasn't being retained when it was setting the 
delegate. This means that when the Camera Delegate was called it would be in 
the autorelease pool long enough to call
    - (void)imagePickerController:(UIImagePickerController*)picker 
didFinishPickingMediaWithInfo:(NSDictionary*)info
    but 'self' would be released mid way through the call, meaning it would 
crash on a call like
    [self imageByScalingNotCroppingForSize:image toSize:cameraPicker.targetSize]

commit ac622ef331a33f24983047fc1064ac5536323884
Author: Alex Finlayson <[email protected]>
Date:   2012-05-11T11:38:32-07:00

    AVInstance is a singleton. This is extremely well designed to allow the app 
to set the way the audio is to be heard across the app.
    Overriding it to AVAudioSessionCategoryPlayback, means there is no control 
over when sounds should be heard.
    I understand the desire to allow developers to hear sound even if they have 
the audio muted, but Apple has been known to reject apps
    that play sound incorrectly (aka playing background music when the mute 
switch is on).
    Adding it back in as a class method means that at the very least a native 
developer can change the avaudiosession as expected.
    I've left the functionality the same, but opened it up to allow an easy way 
to change the category.
    I'll look into opening this up from javascript as it becomes necessary.

commit 364edd7158c8701ed8d1535716f10da40e4679ed
Author: Alex Finlayson <[email protected]>
Date:   2012-05-11T11:51:45-07:00

    I think the original way of having one category will only confuse people 
trying to record stuff.
    This should simplify it, and give control to those who absolutely need it.

----

Reply via email to