roc-streaming / rt-tests

Real-time tests for Roc Toolkit.
Mozilla Public License 2.0
1 stars 6 forks source link
audio hacktoberfest networking real-time streaming testing

Real-time tests for Roc Toolkit

Build Matrix chat

About rt-tests

The scope if this repo is non-functional real-time integration tests for Roc Toolkit public API. These tests are supposed to run on real hardware and produce metrics to be checked for regressions. Some examples of non-functional tests are:

About Roc

Key features of Roc Toolkit:

Compatible Roc Toolkit senders and receivers include:

Requirements

Instructions

Simple build

When using this method, CMake will automatically download and build dependencies (Roc Toolkit). Roc will be statically linked into the modules and there is no need to install it into the system.

First install build tools:

sudo apt install -y \
    g++ pkg-config scons ragel gengetopt \
      libuv1-dev libunwind-dev \
      libpulse-dev libsox-dev \
      libcpputest-dev libspeexdsp-dev \
      libtool intltool autoconf automake make cmake

Next build and run:

make

To specify roc-toolkit branch use cmake flag ROC_BRANCH:

ROC_BRANCH=master make

Additional targets

You can accomplish these additional tasks using the following targets.

To clean working build directory:

make clean

To format code:

make fmt

Advanced bulid

You can disable automatic downloading of roc-toolkit and build it manually.

Download, build and install Roc Toolkit into the system as described on this page

mkdir build && cd build
cmake -DDOWNLOAD_ROC=OFF .. && make

To provide custom path to roc-toolkit library and headers use flags ROC_INCLUDE_DIR and ROC_LIB_DIR

Workflow

The diagram below illustrates generic workflow of a test from this repo.

Explanations:

Authors

See here.

License

MPL-2.0