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 727ca5a
Show file tree
Hide file tree
Showing 2 changed files with 59 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 3 -i README.md

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

> <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)
- [Advanced configuration](#advanced-configuration)
* [Custom audio encoding](#custom-audio-encoding)
* [Custom FEC encoding](#custom-fec-encoding)
* [Tuning latency](#tuning-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 +46,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 +159,30 @@ client:
commit: 76ca125
```

*TODO: commands*

## Sender options

*TODO: option table*

## Receiver options

*TODO: option table*

## Advanced configuration

### Custom audio encoding

*TODO*

### Custom FEC encoding

*TODO*

### Tuning 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 +253,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 727ca5a

Please sign in to comment.