From 2d99e6af81eebdc29ba17a348aa90c9794355b17 Mon Sep 17 00:00:00 2001 From: Bernard Gawor Date: Wed, 23 Sep 2026 13:20:25 +0200 Subject: [PATCH 1/2] FCE-3775 Document videoCodec Sandbox API parameter --- docs/explanation/rooms.mdx | 2 +- docs/how-to/backend/sandbox-api-testing.mdx | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/explanation/rooms.mdx b/docs/explanation/rooms.mdx index 128f0432..f1fc07e9 100644 --- a/docs/explanation/rooms.mdx +++ b/docs/explanation/rooms.mdx @@ -119,7 +119,7 @@ Fishjam supports the following video codecs: - **H.264** — A hardware-accelerated codec offering superior performance. Used by default. Its availability varies by device, and it may not perform optimally at lower bitrates. - **VP8** — A software-based codec supported across all devices, ensuring maximum compatibility. Ideal for environments lacking hardware acceleration, such as Android emulators. -Fishjam uses H.264 by default, however, to solve an issue with Android emulators, VP8 is set when you're using the Sandbox API. +Fishjam uses H.264 by default, however, to solve an issue with Android emulators, the Sandbox API uses VP8 unless you pass the `videoCodec` query parameter (`vp8` or `h264`). Use H.264 if you want to test [compositions](./compositions) with Sandbox API rooms. You can override the default codec by setting the `codec` parameter when [creating a room](../api/server/interfaces/RoomConfig#videocodec) using server SDKs. diff --git a/docs/how-to/backend/sandbox-api-testing.mdx b/docs/how-to/backend/sandbox-api-testing.mdx index 69101006..17abc002 100644 --- a/docs/how-to/backend/sandbox-api-testing.mdx +++ b/docs/how-to/backend/sandbox-api-testing.mdx @@ -78,6 +78,7 @@ You need both values for React/React Native apps: ### Optional parameters - `roomType` - Type of room to create (defaults to `conference`) +- `videoCodec` - Video codec of the room: `vp8` (default) or `h264`. The `useSandbox` hook doesn't set it, so call the Sandbox API URL directly with `videoCodec` as a query parameter. Joining an existing room with a different codec returns `409 Conflict`; omit it to join a room regardless of its codec. ### Room types available From d67846ef122983ef4b6737eac6ce15be573ef0bd Mon Sep 17 00:00:00 2001 From: Bernard Gawor Date: Wed, 23 Sep 2026 13:32:24 +0200 Subject: [PATCH 2/2] Clarify videoCodec docs and add a raw request example --- docs/explanation/rooms.mdx | 4 ++-- docs/how-to/backend/sandbox-api-testing.mdx | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/explanation/rooms.mdx b/docs/explanation/rooms.mdx index f1fc07e9..ab1b66c3 100644 --- a/docs/explanation/rooms.mdx +++ b/docs/explanation/rooms.mdx @@ -119,9 +119,9 @@ Fishjam supports the following video codecs: - **H.264** — A hardware-accelerated codec offering superior performance. Used by default. Its availability varies by device, and it may not perform optimally at lower bitrates. - **VP8** — A software-based codec supported across all devices, ensuring maximum compatibility. Ideal for environments lacking hardware acceleration, such as Android emulators. -Fishjam uses H.264 by default, however, to solve an issue with Android emulators, the Sandbox API uses VP8 unless you pass the `videoCodec` query parameter (`vp8` or `h264`). Use H.264 if you want to test [compositions](./compositions) with Sandbox API rooms. +Fishjam uses H.264 by default. To solve an issue with Android emulators, the Sandbox API uses VP8 unless you pass the `videoCodec` query parameter (`vp8` or `h264`). Use H.264 if you want to [compose a room](../how-to/compositions/compose-a-fishjam-room) created with the Sandbox API. -You can override the default codec by setting the `codec` parameter when [creating a room](../api/server/interfaces/RoomConfig#videocodec) using server SDKs. +You can override the default codec by setting the `videoCodec` parameter when [creating a room](../api/server/interfaces/RoomConfig#videocodec) using server SDKs. We recommend using H.264 for production and VP8 for development as it works with Android emulators. diff --git a/docs/how-to/backend/sandbox-api-testing.mdx b/docs/how-to/backend/sandbox-api-testing.mdx index 17abc002..5cc87cb2 100644 --- a/docs/how-to/backend/sandbox-api-testing.mdx +++ b/docs/how-to/backend/sandbox-api-testing.mdx @@ -78,7 +78,11 @@ You need both values for React/React Native apps: ### Optional parameters - `roomType` - Type of room to create (defaults to `conference`) -- `videoCodec` - Video codec of the room: `vp8` (default) or `h264`. The `useSandbox` hook doesn't set it, so call the Sandbox API URL directly with `videoCodec` as a query parameter. Joining an existing room with a different codec returns `409 Conflict`; omit it to join a room regardless of its codec. +- `videoCodec` - Video codec of the room: `vp8` (default) or `h264`. Accepted by both the peer and the livestream endpoints. Joining an existing room with a different codec returns `409 Conflict`; omit it to join a room regardless of its codec. + +```bash +curl "$SANDBOX_API_URL?roomName=testRoom&peerName=testUser&videoCodec=h264" +``` ### Room types available