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

Add Mac Catalyst Support #116

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

tiagomartinho
Copy link

This is work is an effort @steventroughtonsmith.

I just rebased the changes and made sure it worked.

It still needs the following manual modification here in order to compile for Catalyst.

@steventroughtonsmith
Copy link

I'm sorry I didn't leave my source tree in a better state, but I do hope it's of some use. Everything seems functional except for volume changing in Mac Catalyst, and that may just be a function of the audio unit setup. There are a bunch of Mac vs iOS ifdefs that are no longer totally accurate on Catalyst which I ran into for audio and Metal rendering.

@tiagomartinho
Copy link
Author

Thanks a lot for your work @steventroughtonsmith it really help me!

Till now I only bumped into one problem trying to submit a Mac Catalyst App that uses the framework into the App Store, I opened an issue here. Any idea how to solve it?

Thanks again for the work!

@AndreiVidrasco
Copy link

I tried compiling for catalyst with Xcode 11.3 and I get this error

libavcodec/videotoolbox.c:699:45: error: 'kCVPixelBufferOpenGLESCompatibilityKey' is unavailable: not available on macCatalyst
    CFDictionarySetValue(buffer_attributes, kCVPixelBufferOpenGLESCompatibilityKey, kCFBooleanTrue);
                                            ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelBuffer.h:163:40: note:
      'kCVPixelBufferOpenGLESCompatibilityKey' has been explicitly marked unavailable here
CV_EXPORT const CFStringRef CV_NONNULL kCVPixelBufferOpenGLESCompatibilityKey API_AVAILABLE(ios(6.0), tvos(9.0)) API_UNAVAILABLE(macosx, macCatalyst) __WATCHOS_PROHIBITED;         // CFBoolean
                                       ^
1 error generated.
make: *** [libavcodec/videotoolbox.o] Error 1
make: *** Waiting for unfinished jobs....

Any ideas?

@tiagomartinho
Copy link
Author

It still needs the following manual modification here in order to compile for Catalyst.

@@ -0,0 +1,159 @@
//

Choose a reason for hiding this comment

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

In my fork, I migrated to simd_float4x4 found in simd/simd.h. Granted, I had to re-write some of the functions used, but it should be able to use vector instructions on any architecture supported by LLVM.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants