awslabs / amazon-kinesis-video-streams-pic

Apache License 2.0
49 stars 47 forks source link

"Platform Independent Codebase (PIC)" to "iOS" #85

Closed SanthoshMKunthe closed 3 years ago

SanthoshMKunthe commented 3 years ago

Hi. . . I have opened this issue after https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/issues/146#issuecomment-704699471 and https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-android/issues/36#issuecomment-703790063 . . . where i got suggestion to "You could try to compile the C or C++ producer SDK for iOS." . . . am trying to compile "awslabs/amazon-kinesis-video-streams-pic" to work in iOS. . .

This thread will be kept closed but will be updated with recent procedures ### for all iOS developers ### out there who are trying to compile C producer AWS library to work in iOS. . .

Whats the next step. . . The suggestions here will be helpful to all iOS developers. . .

Below this dont read all sentences. . . just read the bolded text. . . if you are here for solution just jump to end and scroll from bottom. . .

Last login: Fri Oct 16 07:11:49 on console

The default interactive shell is now zsh. To update your account to use zsh, please run chsh -s /bin/zsh. For more details, please visit https://support.apple.com/kb/HT208050. PrivateNetwork:~ excel$ cd Music/santhosh_m_kunthe/aws/aws_pic/ PrivateNetwork:aws_pic excel$ ls PrivateNetwork:aws_pic excel$ git clone https://github.com/awslabs/amazon-kinesis-video-streams-pic.git Cloning into 'amazon-kinesis-video-streams-pic'... remote: Enumerating objects: 6, done. remote: Counting objects: 100% (6/6), done. remote: Compressing objects: 100% (6/6), done. remote: Total 2670 (delta 0), reused 1 (delta 0), pack-reused 2664 Receiving objects: 100% (2670/2670), 1.43 MiB | 764.00 KiB/s, done. Resolving deltas: 100% (1267/1267), done. PrivateNetwork:aws_pic excel$ PrivateNetwork:aws_pic excel$ mkdir -p amazon-kinesis-video-streams-pic/build; cd amazon-kinesis-video-streams-pic/build; cmake .. -- The C compiler identification is AppleClang 11.0.0.11000033 -- The CXX compiler identification is AppleClang 11.0.0.11000033 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /Applications/Xcode11.3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Applications/Xcode11.3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE
-- Configuring done -- Generating done -- Build files have been written to: /Users/excel/Music/santhosh_m_kunthe/aws/aws_pic/amazon-kinesis-video-streams-pic/build PrivateNetwork:build excel$ PrivateNetwork:build excel$ make Scanning dependencies of target kvspicUtils [ 1%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/Allocators.c.o [ 2%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/Atomics.c.o [ 3%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/Base64.c.o [ 4%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/BitField.c.o [ 5%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/BitReader.c.o [ 6%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/Crc32.c.o [ 7%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/Directory.c.o [ 8%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/DoubleLinkedList.c.o [ 9%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/DynamicLibrary.c.o [ 10%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/Endianness.c.o [ 11%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/FileIo.c.o [ 13%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/FileLogger.c.o [ 14%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/HashTable.c.o [ 15%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/Hex.c.o [ 16%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/InstrumentedAllocators.c.o [ 17%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/Logger.c.o [ 18%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/Mutex.c.o [ 19%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/Semaphore.c.o [ 20%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/SingleLinkedList.c.o [ 21%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/StackQueue.c.o [ 22%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/String.c.o [ 23%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/Tags.c.o [ 25%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/Thread.c.o [ 26%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/Time.c.o [ 27%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/TimerQueue.c.o [ 28%] Building C object CMakeFiles/kvspicUtils.dir/src/utils/src/Version.c.o [ 29%] Linking C static library libkvspicUtils.a [ 29%] Built target kvspicUtils Scanning dependencies of target kvspic [ 30%] Building C object CMakeFiles/kvspic.dir/src/client/src/AckParser.c.o [ 31%] Building C object CMakeFiles/kvspic.dir/src/client/src/AuthIntegration.c.o [ 32%] Building C object CMakeFiles/kvspic.dir/src/client/src/Callbacks.c.o [ 33%] Building C object CMakeFiles/kvspic.dir/src/client/src/Client.c.o [ 34%] Building C object CMakeFiles/kvspic.dir/src/client/src/ClientEvent.c.o [ 35%] Building C object CMakeFiles/kvspic.dir/src/client/src/ClientState.c.o [ 36%] Building C object CMakeFiles/kvspic.dir/src/client/src/FrameOrderCoordinator.c.o [ 38%] Building C object CMakeFiles/kvspic.dir/src/client/src/InputValidator.c.o [ 39%] Building C object CMakeFiles/kvspic.dir/src/client/src/Stream.c.o [ 40%] Building C object CMakeFiles/kvspic.dir/src/client/src/StreamEvent.c.o [ 41%] Building C object CMakeFiles/kvspic.dir/src/client/src/StreamState.c.o [ 42%] Building C object CMakeFiles/kvspic.dir/src/duration/src/Duration.c.o [ 43%] Building C object CMakeFiles/kvspic.dir/src/heap/src/AivHeap.c.o [ 44%] Building C object CMakeFiles/kvspic.dir/src/heap/src/Common.c.o [ 45%] Building C object CMakeFiles/kvspic.dir/src/heap/src/Heap.c.o [ 46%] Building C object CMakeFiles/kvspic.dir/src/heap/src/HybridHeap.c.o [ 47%] Building C object CMakeFiles/kvspic.dir/src/heap/src/SystemHeap.c.o [ 48%] Building C object CMakeFiles/kvspic.dir/src/mkvgen/src/MkvGenerator.c.o [ 50%] Building C object CMakeFiles/kvspic.dir/src/mkvgen/src/MkvStatics.c.o [ 51%] Building C object CMakeFiles/kvspic.dir/src/mkvgen/src/NalAdapter.c.o [ 52%] Building C object CMakeFiles/kvspic.dir/src/mkvgen/src/SpsParser.c.o [ 53%] Building C object CMakeFiles/kvspic.dir/src/state/src/State.c.o [ 54%] Building C object CMakeFiles/kvspic.dir/src/trace/src/TraceProfiler.c.o [ 55%] Building C object CMakeFiles/kvspic.dir/src/utils/src/Allocators.c.o [ 56%] Building C object CMakeFiles/kvspic.dir/src/utils/src/Atomics.c.o [ 57%] Building C object CMakeFiles/kvspic.dir/src/utils/src/Base64.c.o [ 58%] Building C object CMakeFiles/kvspic.dir/src/utils/src/BitField.c.o [ 59%] Building C object CMakeFiles/kvspic.dir/src/utils/src/BitReader.c.o [ 60%] Building C object CMakeFiles/kvspic.dir/src/utils/src/Crc32.c.o [ 61%] Building C object CMakeFiles/kvspic.dir/src/utils/src/Directory.c.o [ 63%] Building C object CMakeFiles/kvspic.dir/src/utils/src/DoubleLinkedList.c.o [ 64%] Building C object CMakeFiles/kvspic.dir/src/utils/src/DynamicLibrary.c.o [ 65%] Building C object CMakeFiles/kvspic.dir/src/utils/src/Endianness.c.o [ 66%] Building C object CMakeFiles/kvspic.dir/src/utils/src/FileIo.c.o [ 67%] Building C object CMakeFiles/kvspic.dir/src/utils/src/FileLogger.c.o [ 68%] Building C object CMakeFiles/kvspic.dir/src/utils/src/HashTable.c.o [ 69%] Building C object CMakeFiles/kvspic.dir/src/utils/src/Hex.c.o [ 70%] Building C object CMakeFiles/kvspic.dir/src/utils/src/InstrumentedAllocators.c.o [ 71%] Building C object CMakeFiles/kvspic.dir/src/utils/src/Logger.c.o [ 72%] Building C object CMakeFiles/kvspic.dir/src/utils/src/Mutex.c.o [ 73%] Building C object CMakeFiles/kvspic.dir/src/utils/src/Semaphore.c.o [ 75%] Building C object CMakeFiles/kvspic.dir/src/utils/src/SingleLinkedList.c.o [ 76%] Building C object CMakeFiles/kvspic.dir/src/utils/src/StackQueue.c.o [ 77%] Building C object CMakeFiles/kvspic.dir/src/utils/src/String.c.o [ 78%] Building C object CMakeFiles/kvspic.dir/src/utils/src/Tags.c.o [ 79%] Building C object CMakeFiles/kvspic.dir/src/utils/src/Thread.c.o [ 80%] Building C object CMakeFiles/kvspic.dir/src/utils/src/Time.c.o [ 81%] Building C object CMakeFiles/kvspic.dir/src/utils/src/TimerQueue.c.o [ 82%] Building C object CMakeFiles/kvspic.dir/src/utils/src/Version.c.o [ 83%] Building C object CMakeFiles/kvspic.dir/src/view/src/ContentView.c.o [ 84%] Linking C static library libkvspic.a [ 84%] Built target kvspic Scanning dependencies of target kvspicState [ 85%] Building C object CMakeFiles/kvspicState.dir/src/state/src/State.c.o [ 86%] Linking C static library libkvspicState.a [ 86%] Built target kvspicState Scanning dependencies of target kvspicClient [ 88%] Building C object CMakeFiles/kvspicClient.dir/src/client/src/AckParser.c.o [ 89%] Building C object CMakeFiles/kvspicClient.dir/src/client/src/AuthIntegration.c.o [ 90%] Building C object CMakeFiles/kvspicClient.dir/src/client/src/Callbacks.c.o [ 91%] Building C object CMakeFiles/kvspicClient.dir/src/client/src/Client.c.o [ 92%] Building C object CMakeFiles/kvspicClient.dir/src/client/src/ClientEvent.c.o [ 93%] Building C object CMakeFiles/kvspicClient.dir/src/client/src/ClientState.c.o [ 94%] Building C object CMakeFiles/kvspicClient.dir/src/client/src/FrameOrderCoordinator.c.o [ 95%] Building C object CMakeFiles/kvspicClient.dir/src/client/src/InputValidator.c.o [ 96%] Building C object CMakeFiles/kvspicClient.dir/src/client/src/Stream.c.o [ 97%] Building C object CMakeFiles/kvspicClient.dir/src/client/src/StreamEvent.c.o [ 98%] Building C object CMakeFiles/kvspicClient.dir/src/client/src/StreamState.c.o [100%] Linking C static library libkvspicClient.a [100%] Built target kvspicClient PrivateNetwork:build excel$

SanthoshMKunthe commented 3 years ago

Commands:


PrivateNetwork:aws_pic excel$ git clone https://github.com/awslabs/amazon-kinesis-video-streams-pic.git

PrivateNetwork:aws_pic excel$ mkdir -p amazon-kinesis-video-streams-pic/build; cd amazon-kinesis-video-streams-pic/build; cmake ..

PrivateNetwork:build excel$ make

@amazon-auto

lherman-cs commented 3 years ago

@SanthoshMKunthe this is not within our SDK scope, please follow general documentations from Apple how to integrate C into iOS, https://developer.apple.com/documentation/swift/imported_c_and_objective-c_apis.

SanthoshMKunthe commented 3 years ago

Any updates. . . Thanks for your time. . .

MushMal commented 3 years ago

Sorry, nothing yet. Perhaps someone in the community has ported this to iOS?

oceanvsagar commented 3 years ago

kindly provide with documentation or steps to port Platform Independent Codebase (PIC) to iOS. If this is not possible please confirm the same. in short where is Kinesis Video Streams Producer Libraries for iOS ? is Kinesis Video Streams only compatible with Android ? Will iOS version will ever be released. ?

MushMal commented 3 years ago

This said, there is nothing prohibiting someone to simply give a try compiling the PIC and KVS C Producer for iOS using xCode for example.