Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
gavv committed May 2, 2024
1 parent b2f3ac8 commit 56187b8
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 0 deletions.
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,9 @@ docs:
--doc_opt=markdown,RPC.md \
rpc/*.proto

toc:
markdown-toc --maxdepth 2 -i README.md

kick: kickstart
kickstart:
launchctl kickstart -k system/com.apple.audio.coreaudiod
Expand Down
53 changes: 53 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,31 @@

> <h2>PROJECT IS WORK IN PROGRESS!</h2>
<!-- toc -->

- [What is this?](#what-is-this)
- [How it works](#how-it-works)
- [Features](#features)
- [Platforms](#platforms)
- [Install from binaries](#install-from-binaries)
- [Install from sources](#install-from-sources)
- [Usage](#usage)
- [Sender options](#sender-options)
- [Receiver options](#receiver-options)
- [Custom audio encoding](#custom-audio-encoding)
- [Custom FEC encoding](#custom-fec-encoding)
- [Configuring latency](#configuring-latency)
- [Troubleshooting](#troubleshooting)
- [Common issues](#common-issues)
- [Programmatic control](#programmatic-control)
- [Socket address](#socket-address)
- [Hacking](#hacking)
- [Donating](#donating)
- [Authors](#authors)
- [License](#license)

<!-- tocstop -->

## What is this?

This repo provides macOS **Virtual Audio Device** (VAD) for **streaming audio** to or from remote devices. It is part of [Roc Toolkit](https://github.com/roc-streaming/roc-toolkit) project and is interoperable with both Roc and third-party software.
Expand All @@ -20,6 +45,8 @@ When you configure an app (e.g. iTunes) to use virtual device as a speaker, all

And vice versa, when you configure an app (e.g. Zoom) to use virtual device as a microphone, the sound is streamed from a remote sender to the virtual device, and the app reads the received stream.

*TODO: screenshot*

## Features

Key features of Roc Toolkit:
Expand Down Expand Up @@ -131,6 +158,28 @@ client:
commit: 76ca125
```

*TODO: commands*

## Sender options

*TODO: option table*

## Receiver options

*TODO: option table*

## Custom audio encoding

*TODO*

## Custom FEC encoding

*TODO*

## Configuring latency

*TODO*

## Troubleshooting

To enable verbose logging of the command line tool, use `-v` flag. Specify it multiple times to increase verbosity:
Expand Down Expand Up @@ -201,6 +250,10 @@ More details are available here:
* [driver_protocol.proto](rpc/driver_protocol.proto) - protocol definition
* [RPC.md](RPC.md) - generated protocol documentation

To use RPC interface, you'll need to copy `driver_protocol.proto` to your project and use gRPC tools to generate client code for the language of your choice ([1](https://grpc.io/docs/languages/), [2](https://github.com/grpc/grpc-swift)).

Roc VAD RPC interface mostly mirrors underlying C API of Roc Toolkit. Please refer to the [C API reference](https://roc-streaming.org/toolkit/docs/api/reference.html) for more details on semantics of various options.

## Socket address

By default, driver starts (unauthenticated) gRPC server at `127.0.0.1:9712`.
Expand Down

0 comments on commit 56187b8

Please sign in to comment.