From bc1d92f853df6096eb201056080305e9ae7c5b2e Mon Sep 17 00:00:00 2001 From: Jannis Braun <151788261+TheZwiss@users.noreply.github.com> Date: Sat, 21 Mar 2026 23:20:58 +0100 Subject: [PATCH] feat: add shared streaming constants module --- packages/shared/package.json | 4 +++- packages/shared/src/constants.ts | 30 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 packages/shared/src/constants.ts diff --git a/packages/shared/package.json b/packages/shared/package.json index 89a22f6b..b3cf7d97 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -10,7 +10,9 @@ "./src/permissions": "./src/permissions.ts", "./src/permissions.js": "./src/permissions.ts", "./src/activities": "./src/activities.ts", - "./src/activities.js": "./src/activities.ts" + "./src/activities.js": "./src/activities.ts", + "./src/constants": "./src/constants.ts", + "./src/constants.js": "./src/constants.ts" }, "scripts": { "build": "tsc", diff --git a/packages/shared/src/constants.ts b/packages/shared/src/constants.ts new file mode 100644 index 00000000..e0e1745a --- /dev/null +++ b/packages/shared/src/constants.ts @@ -0,0 +1,30 @@ +// ─── Streaming Constants ───────────────────────────────────────────────────── + +export const STANDARD_RESOLUTIONS = [540, 720, 1080, 1440, 2160] as const; +export type StandardResolution = (typeof STANDARD_RESOLUTIONS)[number]; +export type Resolution = StandardResolution | 'native'; + +export const ALL_RESOLUTIONS: readonly Resolution[] = [...STANDARD_RESOLUTIONS, 'native']; + +export const STANDARD_FRAMERATES = [30, 45, 60, 75, 90, 120] as const; +export type Framerate = (typeof STANDARD_FRAMERATES)[number]; + +export const WIDTH_MAP: Record = { + 540: 960, + 720: 1280, + 1080: 1920, + 1440: 2560, + 2160: 3840, +}; + +export const RESOLUTION_LABELS: Record = { + 540: '540p', + 720: '720p', + 1080: '1080p', + 1440: '1440p', + 2160: '4K', + native: 'Native', +}; + +export const HIGH_END_RESOLUTION_THRESHOLD = 1440; +export const HIGH_END_FRAMERATE_THRESHOLD = 75;