Kodi Community Forum
TvOS Kodi Build - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111)
+---- Forum: iOS & tvOS (https://forum.kodi.tv/forumdisplay.php?fid=137)
+---- Thread: TvOS Kodi Build (/showthread.php?tid=312805)



RE: TvOS Kodi Build - sy6sy2 - 2019-04-04

Ok thank you for the details concerning binary addons.

Currently I am porting your code from xbmc/platform/darwin/tvos folder but some functions have changed/moved since your last commit of yab.
But one by one I am able to decrease the error number.
I hope to be able to compile it. But I am pretty sure that even if it compiles, it will not work on the first run xD

I take note concerning bitcode. Currently I set it to ON in the Toolchain.


RE: TvOS Kodi Build - davilla - 2019-04-04

It never works on 1st run Smile


RE: TvOS Kodi Build - phunkyfish - 2019-04-04

Thanks @Memphiz, this is all gold 😉


RE: TvOS Kodi Build - sy6sy2 - 2019-04-05

Now it's starting to get hard...

I will have to firstly understand how the core works in order to continue.


RE: TvOS Kodi Build - phunkyfish - 2019-04-05

I'm curious about the process to be used to commit these changes back to kodi. Is it sufficient to break it into stages, i.e.:
  1. Commit the tools changes upstream
  2. Commit changes upstream to have kodi run without video playback
  3. Commit changes upstream to have kodi run with video playback
Or does it have to be the entire thing working in one go. If it can be broken down it will be far easier as the code base constantly evolves.


RE: TvOS Kodi Build - sy6sy2 - 2019-04-05

Absolutely no idea xD

This is the first time I look at the core. My only experience on Kodi dev is about Python addon devolvement.


RE: TvOS Kodi Build - phunkyfish - 2019-04-05

@sy6sy2 What Xcode version are you running with?

I tried to build the tools from your branch using Xcode 9.4.1 which has TVOS sdk 11.4, it's the same version of Xcode I use for building on OSX.


RE: TvOS Kodi Build - sy6sy2 - 2019-04-05

I am with Xcode 10.2.

But don't be surprise if the code failed to build. I have not yet fix all errors (still have around 10 errors).


RE: TvOS Kodi Build - phunkyfish - 2019-04-05

Ah, this is where you set the min platform version to 10.2. Let me set it back to 9.0 to see can I build the tools. Whether it’s 9.0 or 10.2 it shouldn’t make a difference should it?


RE: TvOS Kodi Build - sy6sy2 - 2019-04-05

If I remember well, I set it to 10.2 because I hab error when building FFmpeg target dependancy Undecided
But maybe I did something wrong.


RE: TvOS Kodi Build - phunkyfish - 2019-04-05

Ok, reverting that change I get the smae ffmpeg build error for tools:

cpp:

libavcodec/videotoolbox.c:641:14: error: 'VTDecompressionSessionDecodeFrame' is only available on tvOS 10.2 or newer [-Werror,-Wunguarded-availability]
    status = VTDecompressionSessionDecodeFrame(videotoolbox->session,
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS11.4.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionSession.h:184:1: note: 'VTDecompressionSessionDecodeFrame' has been explicitly marked partial here
VTDecompressionSessionDecodeFrame(
^
libavcodec/videotoolbox.c:641:14: note: enclose 'VTDecompressionSessionDecodeFrame' in a __builtin_available check to silence this warning
    status = VTDecompressionSessionDecodeFrame(videotoolbox->session,
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/videotoolbox.c:647:18: error: 'VTDecompressionSessionWaitForAsynchronousFrames' is only available on tvOS 10.2 or newer [-Werror,-Wunguarded-availability]
        status = VTDecompressionSessionWaitForAsynchronousFrames(videotoolbox->session);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS11.4.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionSession.h:298:1: note: 'VTDecompressionSessionWaitForAsynchronousFrames' has been explicitly marked partial here
VTDecompressionSessionWaitForAsynchronousFrames(
^
libavcodec/videotoolbox.c:647:18: note: enclose 'VTDecompressionSessionWaitForAsynchronousFrames' in a __builtin_available check to silence this warning
        status = VTDecompressionSessionWaitForAsynchronousFrames(videotoolbox->session);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/videotoolbox.c:833:14: error: 'VTDecompressionSessionCreate' is only available on tvOS 10.2 or newer [-Werror,-Wunguarded-availability]
    status = VTDecompressionSessionCreate(NULL,                      // allocator
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS11.4.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionSession.h:123:1: note: 'VTDecompressionSessionCreate' has been explicitly marked partial here
VTDecompressionSessionCreate(
^
libavcodec/videotoolbox.c:833:14: note: enclose 'VTDecompressionSessionCreate' in a __builtin_available check to silence this warning
    status = VTDecompressionSessionCreate(NULL,                      // allocator
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
libavcodec/videotoolbox.c:881:9: error: 'VTDecompressionSessionInvalidate' is only available on tvOS 10.2 or newer [-Werror,-Wunguarded-availability]
        VTDecompressionSessionInvalidate(videotoolbox->session);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS11.4.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTDecompressionSession.h:144:1: note: 'VTDecompressionSessionInvalidate' has been explicitly marked partial here
VTDecompressionSessionInvalidate( CM_NONNULL VTDecompressionSessionRef session ) API_AVAILABLE(macosx(10.8), ios(8.0), tvos(10.2));
^
libavcodec/videotoolbox.c:881:9: note: enclose 'VTDecompressionSessionInvalidate' in a __builtin_available check to silence this warning
        VTDecompressionSessionInvalidate(videotoolbox->session);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 errors generated.
make[3]: *** [libavcodec/videotoolbox.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [.build-appletvos11.4_arm64-target-debug] Error 2
make[1]: *** [ffmpeg] Error 2
make: *** [target/.installed-appletvos11.4_arm64-target-debug] Error 2

10.2 it is, however that appears to be TVOS sdk version and not xcode 10.2 from the error.

I’ll play around with it a bit more.


RE: TvOS Kodi Build - kambala - 2019-04-06

@sy6sy2 created a PR with more fixes


RE: TvOS Kodi Build - sy6sy2 - 2019-04-06

Merged, thank you very munch @kambala !


TvOS Kodi Build - hoppel118 - 2019-04-06

Great to see some progress on kodi for tvOS! Smile


RE: TvOS Kodi Build - phunkyfish - 2019-04-06

@sy6sy2 added a PR to support Xcode 9 in addition to Xcode 10.