Skip to content

Latest commit

 

History

History
78 lines (59 loc) · 2.72 KB

contributing.md

File metadata and controls

78 lines (59 loc) · 2.72 KB

Contributing to the Satori Video SDK for C++ project

All Video SDK documentation

Table of contents

Prerequisites

  1. Set up the prerequisites described in the topic Satori Video SDK for C++ Prerequisites.
  2. At a command prompt, enter make -version. Ensure that your version is GNU make version 4.2.1 or later.
  3. At a command prompt, enter make conan-login to ensure that you can access conan remote repositories.

Clone the SDK

$ git clone https://github.com/satori-com/satori-video-sdk-cpp.git

Build the SDK

The first build requires more time than subsequent builds, because the conan package manager needs to retrieve and build dependencies.

If you encounter errors during the build, try removing the build directory and re-building.

$ cd satori-video-sdk-cpp
$ mkdir build 
$ cd build 
$ cmake ../
$ make -j 8

Test SDK modifications

Run the automated tests

$ ctest

Test the SDK from local conan

Export satori-video-sdk-cpp to your local conan cache:

$conan export satori-video-sdk-cpp <user>/<channel>

This creates a test version of the SDK in <conan_dir>/.data/SatoriVideo/<version>/<user>/<channel>.

  • <version> - The latest released version of the SDK in the conan remote cache
  • <user> - A value you assign, usually your OS user id
  • <channel> - A value you assign

Test SDK with example bot

  1. Set up a test bot from the SDK examples or use one of your own working video bots:

  2. Before you build the bot, modify conanfile.txt. In the [requires] section, modify the line that specifies the video SDK. Change the following line:

    SatoriVideo/[<version_spec>]@satorivideo/master

    to

    SatoriVideo/[<version_spec>]@<user>/<channel>

    where <user> and <channel> are the values you specified in Export SDK to local conan.

    When you build the bot, this modification directs conan to use the test version of your SDK.

  3. Build your bot and test it.

Build with ASAN memory error detection:

$ cmake -DCMAKE_CXX_SANITIZER="address" ..

Build with clang-tidy:

$ cmake -DCMAKE_CXX_CLANG_TIDY="/usr/local/opt/llvm/bin/clang-tidy .."