Closed emiliopavia closed 7 years ago
Sorry I hadn't responded before.
I can't accept this, since Mumble for iOS and MumbleKit build and run on iOS 5.
Why do you check !DeviceIsRunningiOS7OrGreater()
only #if __IPHONE_OS_VERSION_MAX_ALLOWED <= 60100
? That check is stripped out by compiling with the latest iOS SDK, so that property is always set.
Oops. Sorry.
As the comment says:
// When running Mumble built with the iOS 6.1 SDK, built using Xcode 4.6.3 on iOS 7,
// we sometimes get zero samples from the VPIO Audio Unit. When building with Xcode 5
// against the iOS 7 SDK, everything is OK, though.
That's the reason for the SDK check.
However, I think that since the property is deprecated, gating the code that sets the quality to low with if DeviceIsRunningiOS7OrGreater()
should be better. That way, iOS 7+ will not have the property set, and iOS 5 and 6 will use low quality.
The problem we had is that, as is, echo cancelation doesn't work when building with the latest Xcode.
Landed via https://github.com/mumble-voip/mumblekit/pull/58.
That code disable echo cancellation when building MumbleKit for iOS 7+ with the latest version of Xcode. As kAUVoiceIOProperty_VoiceProcessingQuality is marked as deprecated since iOS 6, I consider safe to remove that code (btw we're already using MumbleKit in production without that).
Moreover I set SKIP_INSTALL to YES to the iOS libraries to make Archive working in Xcode.