Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AudioToolbox] Add support for xcode 14 beta6. #15877

Merged
merged 6 commits into from
Sep 12, 2022

Conversation

mandel-macaque
Copy link
Member

No description provided.

@mandel-macaque mandel-macaque added the notes-mention Deserves a mention in release notes label Sep 6, 2022
@mandel-macaque mandel-macaque added this to the xcode14 milestone Sep 6, 2022
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

Copy link
Member

@rolfbjarne rolfbjarne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Manual bindings need manual tests too :)

[MacCatalyst (16,0)]
#endif
public AudioComponentValidationResult Validate (NSDictionary validationParameters) {
var success = AudioComponentValidate (GetCheckedHandle (), validationParameters.GetNonNullHandle (nameof (validationParameters)), out var result);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The header says validationParameters can be null.

var block_handler= new BlockLiteral ();
block_handler.SetupBlockUnsafe (static_action, onCompletion);
try {
AudioComponentValidateWithResults (GetCheckedHandle (), validationParameters.GetNonNullHandle (nameof (validationParameters)), ref block_handler);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same, headers say validationParameters can be null.

var success = AudioComponentValidate (GetCheckedHandle (), validationParameters.GetNonNullHandle (nameof (validationParameters)), out var result);
if (success == 0)
return result;
return AudioComponentValidationResult.Unknown;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your managed bindings have one thing in common: they don't expose the returned OSStatus from the native functions. This return value can be valuable when trying to diagnose why calls to these methods fail, so we often provide another overload that users can use to get this value. In this particular case that could be something like:

public AudioComponentValidationResult Validate (NSDictionary validationParameters, out int resultCode)
{
    ...
}

This goes for all the new API.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

Copy link
Contributor

@tj-devel709 tj-devel709 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than this, LGTM

On = 1,
[NoiOS, NoTV]
Auto = 2,
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm why add tv and ios support if none of the enums support it?

#endif
public NSDictionary? ConfigurationInfo {
get {
var success = AudioComponentCopyConfigurationInfo (GetCheckedHandle (), out var dictPtr);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one is also needs an overload (or really a method, since this is a property)


var componentInfo = new AudioComponentInfo ();
componentInfo.Type = AudioTypeOutput.Generic.ToString ();
componentInfo.Subtype = "XMPL";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: extra space before "XMPL"


var componentInfo = new AudioComponentInfo ();
componentInfo.Type = AudioTypeOutput.Generic.ToString ();
componentInfo.Subtype = "XMPL";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same


var componentInfo = new AudioComponentInfo ();
componentInfo.Type = AudioTypeOutput.Generic.ToString ();
componentInfo.Subtype = "XMPL";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2
Copy link
Collaborator

💻 [PR Build] Tests on macOS Mac Catalina (10.15) passed 💻

All tests on macOS Mac Catalina (10.15) passed.

Pipeline on Agent
Hash: 501c2e1b47d297a57ce7102e139ae2171068242a [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

📚 [PR Build] Artifacts 📚

Packages generated

View packages

Pipeline on Agent XAMBOT-1164.Monterey'
Hash: 501c2e1b47d297a57ce7102e139ae2171068242a [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

✅ API diff for current PR / commit

Legacy Xamarin (No breaking changes)
.NET (No breaking changes)

✅ API diff vs stable

Legacy Xamarin (No breaking changes)
.NET (No breaking changes)
Legacy Xamarin (stable) vs .NET

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: 501c2e1b47d297a57ce7102e139ae2171068242a [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

❌ [PR Build] Tests on macOS M1 - Mac Big Sur (11.5) failed ❌

Failed tests are:

  • xammac_tests
  • monotouch-test

Pipeline on Agent
Hash: 501c2e1b47d297a57ce7102e139ae2171068242a [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

🔥 [CI Build] Test results 🔥

Test results

❌ Tests failed on VSTS: simulator tests

0 tests crashed, 1 tests failed, 119 tests passed.

Failures

❌ introspection tests

1 tests failed, 12 tests passed.
  • introspection/watchOS 32-bits - simulator/Debug (watchOS 6.0): Crashed Known issue: HE0038)

Html Report (VSDrops) Download

Successes

✅ fsharp: All 7 tests passed. Html Report (VSDrops) Download
✅ framework: All 8 tests passed. Html Report (VSDrops) Download
✅ generator: All 2 tests passed. Html Report (VSDrops) Download
✅ interdependent_binding_projects: All 7 tests passed. Html Report (VSDrops) Download
✅ install_source: All 1 tests passed. Html Report (VSDrops) Download
✅ linker: All 65 tests passed. Html Report (VSDrops) Download
✅ mac_binding_project: All 1 tests passed. Html Report (VSDrops) Download
✅ mmp: All 2 tests passed. Html Report (VSDrops) Download
✅ mononative: All 12 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download

Pipeline on Agent
Hash: [PR build]

@mandel-macaque mandel-macaque merged commit f2560aa into xamarin:xcode14 Sep 12, 2022
@mandel-macaque mandel-macaque deleted the audiotoolbox-xcode14 branch September 12, 2022 14:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
notes-mention Deserves a mention in release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants