Search code examples
c++windowsamazon-kinesisamazon-kinesis-video-streams

How can I build amazon kinesis webrtc sdk in C on windows - missing header files


I'm trying to build WebRTC SDK in C for Embedded Devices on windows. I have configured using CMake with -DBUILD_DEPENDENCIES=0, and have installed various libraries manually such as pthreads, usrsctp, libssl etc. I don't have gstreamer installed, so I do get a message about not being able to configure one of the examples, but that is expected.

I'm running cmake from a "x64 native tools command prompt for vs 2019", hence the configuration below.

So after configuration I have a visual studio solution, which as far as I can tell should be able to build the examples. However, the code uses an include file that is referencing non-existent files in the SDK. In particular, Include.h in com/amazonaws/kinesis/video/webrtcclient/ begins with:

#include <com/amazonaws/kinesis/video/client/Include.h>
#include <com/amazonaws/kinesis/video/common/Include.h>
#include <com/amazonaws/kinesis/video/webrtcclient/NullableDefs.h>
#include <com/amazonaws/kinesis/video/webrtcclient/Stats.h>

but there is no client or common directory in com/amazonaws/kinesis/video. The com directory is in the repo directory src\include, which to me looks like the video\client dir should have been checked out if it exists, rather than built.

I also don't see any solution to build any kinesis libraries, but the examples seem to include a lot of the source files directly - so is this SDK supposed to build a library as well?

Have I missed a build step somewhere? Do I need to download/build the rest of the kinesis video stream stuff as well as the webrtc sdk?


Solution

  • Yes you will need to build the other KVS libraries that the WebRTC implementation depends on.

    You can find them in the .gitmodules of the project.

    You can also see how they are built/configured in the CMakeLists.txt