Bug 16763 - AVCaptureAudioDataOutput does not support IAVCaptureAudioDataOutputSampleBufferDelegate
Summary: AVCaptureAudioDataOutput does not support IAVCaptureAudioDataOutputSampleBuff...
Status: VERIFIED FIXED
Alias: None
Product: iOS
Classification: Xamarin
Component: Xamarin.iOS.dll ()
Version: 7.0.4.x
Hardware: PC Mac OS
: --- normal
Target Milestone: 7.2.1
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2013-12-12 18:35 UTC by Adam Kemp
Modified: 2014-03-21 05:30 UTC (History)
3 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
VERIFIED FIXED

Description Adam Kemp 2013-12-12 18:35:05 UTC
There should be an overload for SetSampleBufferDelegatequeue (sic) that takes an IAVAudioRecorderDelegate instead of an AVAudioRecorderDelegate so you can use the weak delegate mechanism instead of making a private class for just one method. Also, there's a capitalization typo in the name of the method.

The interface option should likewise be supported by other similar classes (ex: AVCaptureVideoDataOutput).
Comment 1 Adam Kemp 2013-12-12 18:39:39 UTC
Correction: IAVCaptureAudioDataOutputSampleBufferDelegate/AVCaptureAudioDataOutputSampleBufferDelegate (not IAVAudioRecorderDelegate/AVAudioRecorderDelegate).
Comment 2 Rolf Bjarne Kvinge [MSFT] 2013-12-13 20:13:37 UTC
Fixed.

I've added another overload that takes the I* version (and with the correct case for the method name).

maccore/master: 1b71a1cba4c21639dd99b790d286950a6e629383
monotouch/master: 8d918f568bca01a0f5385889d88f952ce46c2d46
Comment 3 Ram Chandra 2014-03-21 05:30:29 UTC
I have checked this issue on following builds:

Mac 10.7.5
Xamarin Studio : 4.2.4 (build 32)
Xamarin.iOS : 7.2.1.22 (Trial Edition)
Build Information
Release ID: 402040032
Git revision: a160c35dac9ab9fd32eeadaa171216316d5a5133
Build date: 2014-03-12 13:55:08-04
Xamarin addins: a779416ceabd54981ce812771a4061c942e8b872

I observer that now we have two overload for "SetSampleBufferDelegatequeue", one takes an "AVCaptureAudioDataOutputSampleBufferDelegate" and second one "IAVCaptureAudioDataOutputSampleBufferDelegate" as an argument. I have also checked that the second overload i.e. "SetSampleBufferDelegatequeue" which takes "IAVCaptureAudioDataOutputSampleBufferDelegate" as an argument has correct case for the method name but the first one does not have correct case for that method name . The signature of both method is as following:

1.public virtual void SetSampleBufferDelegatequeue (AVCaptureAudioDataOutputSampleBufferDelegate sampleBufferDelegate, DispatchQueue sampleBufferCallbackDispatchQueue)

{


}


2.public void SetSampleBufferDelegateQueue (IAVCaptureAudioDataOutputSampleBufferDelegate sampleBufferDelegate, DispatchQueue sampleBufferCallbackDispatchQueue)

{


}


Screencast:  http://www.screencast.com/t/jTFrBta8rrX

This issue is working fine. Hence, I am closing this issue.