Skip to content

Commit

Permalink
Merge pull request #116 from GetStream/call-types-updates
Browse files Browse the repository at this point in the history
Call types updates
  • Loading branch information
szuperaz committed Oct 27, 2023
2 parents 9247313 + 6c2840c commit c7bc033
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 41 deletions.
82 changes: 42 additions & 40 deletions shared/video/_call-type-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,51 +3,51 @@
| Setting Name | Type | Description |
| -------------------------- | ------------------------------ | --------------------------------------------------------------------------------------- |
| `access_request_enabled` | Boolean | When `true` users that do not have permission to this feature can request access for it |
| `opus_dtx_enabled` | Boolean | Enable OPUS DTX |
| `redundant_coding_enabled` | Boolean | Enable redundant audio transmission |
| `mic_default_on` | Boolean | When true the user will join with microphone enabled by default |
| `speaker_default_on` | Boolean | When true the user will join with audio turned on by default |
| `default_device` | String `speaker` or `earpiece` | The default audio device to use by default |
| `opus_dtx_enabled` | Boolean | When `true` OPUS DTX is enabled |
| `redundant_coding_enabled` | Boolean | When `true` redundant audio transmission is enabled |
| `mic_default_on` | Boolean | When `true` the user will join with the microphone enabled by default |
| `speaker_default_on` | Boolean | When `true` the user will join with the audio turned on by default |
| `default_device` | String `speaker` or `earpiece` | The default audio device to use |

### Backstage

| Setting Name | Type | Description |
| ------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `enabled` | Boolean | When backstage is enabled, calls will be in backstage mode when created and can be joined by user only after `goLive` is called |
| Setting Name | Type | Description |
| ------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `enabled` | Boolean | When backstage is enabled, calls will be in backstage mode when created and can be joined by users only after `goLive` is called |

### Video

| Setting Name | Type | Description |
| ------------------------ | ------------------------------------ | -------------------------------------------------------------------------------- |
| `enabled` | Boolean | Defines whether video is enabled for the call |
| `access_request_enabled` | Boolean | When true users that do not permission to this feature can request access for it |
| `camera_default_on` | Boolean | When true the camera will be turned on by when joining the call |
| `camera_facing` | String `front`, `back` or `external` | When applicable, the camera that should be used by default |
| `target_resolution` | Target Resolution Object | The ideal resolution that video publishers should send |
| Setting Name | Type | Description |
| ------------------------ | ------------------------------------ | --------------------------------------------------------------------------------------- |
| `enabled` | Boolean | Defines whether video is enabled for the call |
| `access_request_enabled` | Boolean | When `true` users that do not have permission to this feature can request access for it |
| `camera_default_on` | Boolean | When `true`, the camera will be turned on when joining the call |
| `camera_facing` | String `front`, `back` or `external` | When applicable, the camera that should be used by default |
| `target_resolution` | Target Resolution Object | The ideal resolution that video publishers should send |

The target resolution object is an advanced resolution. Changing this from the default values can lead to poor performance. This is how you define it:

| Setting Name | Type | Description |
| ------------ | ------ | ------------------- |
| `width` | Number | The width in pixels |
| `height` | Number | The hight in pixels |
| `bitrate` | Number | The bitrate |
| Setting Name | Type | Description |
| ------------ | ------ | -------------------- |
| `width` | Number | The width in pixels |
| `height` | Number | The height in pixels |
| `bitrate` | Number | The bitrate |

### Screensharing

| Setting Name | Type | Description |
| ------------------------ | ------- | -------------------------------------------------------------------------------- |
| `enabled` | Boolean | Defines whether screensharing is enabled |
| `access_request_enabled` | Boolean | When true users that do not permission to this feature can request access for it |
| Setting Name | Type | Description |
| ------------------------ | ------- | --------------------------------------------------------------------------------------- |
| `enabled` | Boolean | Defines whether screensharing is enabled |
| `access_request_enabled` | Boolean | When `true` users that do not have permission to this feature can request access for it |

### Recording

| Setting Name | Type | Description |
| ------------ | ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `mode` | String `available`, `disabled` or `auto-on` | available → recording can be requested <br />disabled → recording is disabled <br />auto-on → recording starts and stops automatically when user join the call |
| `quality` | String `audio-only`, `360p`, `480p`, `720p`, `1080p`, `1440p` | Defines the resolution of the recording |
| `audio_only` | `boolean` | If `true` the recordings will only contain audio |
| `layout` | object, for more information see the [API docs](https://getstream.io/video/docs/api/recording/calls/#recording-layouts) | Confoguration options for the recording application |
| Setting Name | Type | Description |
| ------------ | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `mode` | String `available`, `disabled` or `auto-on` | `available` → recording can be requested <br />`disabled` → recording is disabled <br />`auto-on` → recording starts and stops automatically when one or multiple users join the call |
| `quality` | String `audio-only`, `360p`, `480p`, `720p`, `1080p`, `1440p` | Defines the resolution of the recording |
| `audio_only` | `boolean` | If `true` the recordings will only contain audio |
| `layout` | object, for more information see the [API docs](https://getstream.io/video/docs/api/recording/calls/#recording-layouts) | Configuration options for the recording application |

### Broadcasting

Expand All @@ -58,18 +58,20 @@ The target resolution object is an advanced resolution. Changing this from the d

### HLS Settings

| Setting Name | Type | Description |
| ---------------- | ------------------------------------------------------------- | ----------------------------------------------------------------- |
| `enabled` | Boolean | Defines whether HLS is enabled or not |
| `auto_on` | Boolean | When true HLS streaming will start as soon as users join the call |
| `quality_tracks` | String `audio-only`, `360p`, `480p`, `720p`, `1080p`, `1440p` | The tracks to publish for the HLS stream (up to three tracks) |
| Setting Name | Type | Description |
| ---------------- | ------------------------------------------------------------- | ------------------------------------------------------------------- |
| `enabled` | Boolean | Defines whether HLS is enabled or not |
| `auto_on` | Boolean | When `true` HLS streaming will start as soon as users join the call |
| `quality_tracks` | String `audio-only`, `360p`, `480p`, `720p`, `1080p`, `1440p` | The tracks to publish for the HLS stream (up to three tracks) |

### Geofencing

| Setting Name | Type | Description |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| `names` | List of one or more of these strings `european_union`, `iran_north_korea_syria_exclusion`, `china_exclusion`, `russia_exclusion`, `belarus_exclusion`, `india`, `united_states`, `canada` | The list of geofences that are used for the calls of these type |

More information can be found in the [API docs](https://getstream.io/video/docs/api/call_types/geofencing/).

### Transcription

| Setting Name | Type | Description |
Expand All @@ -79,10 +81,10 @@ The target resolution object is an advanced resolution. Changing this from the d

### Ringing

| Setting Name | Type | Description |
| -------------------------- | ------ | ----------------------------------------------------------------------------------- |
| `incoming_call_timeout_ms` | Number | How long should the SDK display the incoming call screen before discarding the call |
| `auto_cancel_timeout_ms` | Number | How long should the caller wait for others to accept the call before canceling |
| Setting Name | Type | Description |
| -------------------------- | ------ | --------------------------------------------------------------------------------------------------- |
| `incoming_call_timeout_ms` | Number | Defines how long the SDK should display the incoming call screen before discarding the call (in ms) |
| `auto_cancel_timeout_ms` | Number | Defines how long the caller should wait for others to accept the call before canceling (in ms) |

### Push Notifications Settings

Expand All @@ -103,7 +105,7 @@ In order to define the _event notification settings object_, here is the structu

### APNS Settings Object

Remote notifications can only be customized if your application implements a Notification Service Extension. For simple customizations you can change the title and body fields at the call type level. Both title and body fields are handlebars templates with call and user objects available in their scope.
Remote notifications can only be customized if your application implements a Notification Service Extension. For simple customizations, you can change the title and body fields at the call type level. Both title and body fields are handlebars templates with call and user objects available in their scope.

| Setting Name | Type | Description |
| ------------ | -------- | ----------------------------------------------------------- |
Expand Down
2 changes: 1 addition & 1 deletion shared/video/_call-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ There are 5 pre-defined user roles, these are:
- `admin`
- `call-member`

As mentioned before each user role is associated with a set of call capabilities. You can access the default roles and their capabilities in your [Stream Dashboard](https://dashboard.getstream.io/).
As mentioned before each user role is associated with a set of call capabilities. You can access the default roles and their capabilities in the [Stream Dashboard](https://dashboard.getstream.io/).

In general, it makes sense to have a solid setup of roles as it makes handling permissions and requests easier.

Expand Down

0 comments on commit c7bc033

Please sign in to comment.