Skip to content

Commit 9cc8ff2

Browse files
authored
fix: Remove shared enums (#134)
* Removed shared enums * Removed getLangCode from shared * Updated kv
1 parent 3c014ca commit 9cc8ff2

File tree

16 files changed

+123
-122
lines changed

16 files changed

+123
-122
lines changed

bun.lockb

-480 Bytes
Binary file not shown.

packages/api/src/routes/jobs.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import {
77
pipelineQueue,
88
transcodeQueue,
99
} from "bolt";
10-
import { AudioCodec, VideoCodec } from "bolt/types";
1110
import { Elysia, t } from "elysia";
1211
import { auth } from "../auth";
1312
import { DeliberateError } from "../errors";
@@ -43,14 +42,14 @@ const InputSchema = t.Union([
4342
const StreamSchema = t.Union([
4443
t.Object({
4544
type: t.Literal("video"),
46-
codec: t.Enum(VideoCodec),
45+
codec: t.Union([t.Literal("h264"), t.Literal("vp9"), t.Literal("hevc")]),
4746
height: t.Number(),
4847
bitrate: t.Optional(t.Number({ description: "Bitrate in bps" })),
4948
framerate: t.Optional(t.Number({ description: "Frames per second" })),
5049
}),
5150
t.Object({
5251
type: t.Literal("audio"),
53-
codec: t.Enum(AudioCodec),
52+
codec: t.Union([t.Literal("aac"), t.Literal("ac3"), t.Literal("eac3")]),
5453
bitrate: t.Optional(t.Number({ description: "Bitrate in bps" })),
5554
language: t.Optional(t.String()),
5655
channels: t.Optional(t.Number()),

packages/artisan/src/lib/default-values.ts

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
import { AudioCodec, VideoCodec } from "bolt/types";
1+
import type { AudioCodec, VideoCodec } from "bolt";
22

33
const DEFAULT_AUDIO_BITRATE: Record<number, Record<AudioCodec, number>> = {
44
2: {
5-
[AudioCodec.aac]: 128000,
6-
[AudioCodec.ac3]: 192000,
7-
[AudioCodec.eac3]: 96000,
5+
aac: 128000,
6+
ac3: 192000,
7+
eac3: 96000,
88
},
99
6: {
10-
[AudioCodec.aac]: 256000,
11-
[AudioCodec.ac3]: 384000,
12-
[AudioCodec.eac3]: 192000,
10+
aac: 256000,
11+
ac3: 384000,
12+
eac3: 192000,
1313
},
1414
};
1515

@@ -19,44 +19,44 @@ export function getDefaultAudioBitrate(channels: number, codec: AudioCodec) {
1919

2020
const DEFAULT_VIDEO_BITRATE: Record<number, Record<VideoCodec, number>> = {
2121
144: {
22-
[VideoCodec.h264]: 108000,
23-
[VideoCodec.hevc]: 96000,
24-
[VideoCodec.vp9]: 96000,
22+
h264: 108000,
23+
hevc: 96000,
24+
vp9: 96000,
2525
},
2626
240: {
27-
[VideoCodec.h264]: 242000,
28-
[VideoCodec.hevc]: 151000,
29-
[VideoCodec.vp9]: 151000,
27+
h264: 242000,
28+
hevc: 151000,
29+
vp9: 151000,
3030
},
3131
360: {
32-
[VideoCodec.h264]: 400000,
33-
[VideoCodec.hevc]: 277000,
34-
[VideoCodec.vp9]: 277000,
32+
h264: 400000,
33+
hevc: 277000,
34+
vp9: 277000,
3535
},
3636
480: {
37-
[VideoCodec.h264]: 1000000,
38-
[VideoCodec.hevc]: 512000,
39-
[VideoCodec.vp9]: 512000,
37+
h264: 1000000,
38+
hevc: 512000,
39+
vp9: 512000,
4040
},
4141
720: {
42-
[VideoCodec.h264]: 2000000,
43-
[VideoCodec.hevc]: 1000000,
44-
[VideoCodec.vp9]: 1000000,
42+
h264: 2000000,
43+
hevc: 1000000,
44+
vp9: 1000000,
4545
},
4646
1080: {
47-
[VideoCodec.h264]: 4000000,
48-
[VideoCodec.hevc]: 2000000,
49-
[VideoCodec.vp9]: 2000000,
47+
h264: 4000000,
48+
hevc: 2000000,
49+
vp9: 2000000,
5050
},
5151
1440: {
52-
[VideoCodec.h264]: 9000000,
53-
[VideoCodec.hevc]: 6000000,
54-
[VideoCodec.vp9]: 6000000,
52+
h264: 9000000,
53+
hevc: 6000000,
54+
vp9: 6000000,
5555
},
5656
2160: {
57-
[VideoCodec.h264]: 17000000,
58-
[VideoCodec.hevc]: 12000000,
59-
[VideoCodec.vp9]: 12000000,
57+
h264: 17000000,
58+
hevc: 12000000,
59+
vp9: 12000000,
6060
},
6161
};
6262

packages/artisan/src/workers/transcode.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import {
66
outcomeQueue,
77
waitForChildren,
88
} from "bolt";
9+
import { by639_2T } from "iso-language-codes";
910
import { assert } from "shared/assert";
10-
import { getLangCode } from "shared/lang";
1111
import {
1212
getDefaultAudioBitrate,
1313
getDefaultVideoBitrate,
@@ -353,3 +353,10 @@ function defaultReason<T extends Stream["type"]>(
353353
"You will have to provide it in the stream instead."
354354
);
355355
}
356+
357+
function getLangCode(value?: string) {
358+
if (value && value in by639_2T) {
359+
return value;
360+
}
361+
return null;
362+
}

packages/artisan/test/workers/transcode.test.ts

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import "bun";
2-
import { AudioCodec, VideoCodec } from "bolt/types";
32
import { describe, expect, test } from "bun:test";
43
import {
54
getMatches,
@@ -74,7 +73,7 @@ describe("merge stream", () => {
7473
const stream = mergeStream(
7574
{
7675
type: "video",
77-
codec: VideoCodec.h264,
76+
codec: "h264",
7877
height: 720,
7978
},
8079
{
@@ -90,7 +89,7 @@ describe("merge stream", () => {
9089
const stream = mergeStream(
9190
{
9291
type: "video",
93-
codec: VideoCodec.h264,
92+
codec: "h264",
9493
height: 1080,
9594
},
9695
{
@@ -107,7 +106,7 @@ describe("merge stream", () => {
107106
const stream = mergeStream(
108107
{
109108
type: "video",
110-
codec: VideoCodec.h264,
109+
codec: "h264",
111110
height: 480,
112111
},
113112
{
@@ -124,7 +123,7 @@ describe("merge stream", () => {
124123
const stream = mergeStream(
125124
{
126125
type: "audio",
127-
codec: AudioCodec.aac,
126+
codec: "aac",
128127
},
129128
{
130129
type: "audio",
@@ -143,34 +142,34 @@ describe("get list of matches", () => {
143142
[
144143
{
145144
type: "video",
146-
codec: VideoCodec.hevc,
145+
codec: "hevc",
147146
height: 1080,
148147
},
149148
{
150149
type: "video",
151-
codec: VideoCodec.h264,
150+
codec: "h264",
152151
height: 720,
153152
},
154153
{
155154
type: "audio",
156-
codec: AudioCodec.eac3,
155+
codec: "eac3",
157156
channels: 100,
158157
bitrate: 1_000_000,
159158
},
160159
{
161160
type: "audio",
162-
codec: AudioCodec.ac3,
161+
codec: "ac3",
163162
channels: 6,
164163
},
165164
{
166165
type: "audio",
167-
codec: AudioCodec.aac,
166+
codec: "aac",
168167
channels: 2,
169168
language: "eng",
170169
},
171170
{
172171
type: "audio",
173-
codec: AudioCodec.aac,
172+
codec: "aac",
174173
language: "nld",
175174
},
176175
],

packages/bolt/package.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@
33
"private": true,
44
"version": "0.0.0",
55
"type": "module",
6-
"exports": {
7-
".": "./src/index.ts",
8-
"./types": "./src/types.ts"
9-
},
6+
"main": "./src/index.ts",
107
"scripts": {
118
"lint": "tsc && eslint"
129
},

packages/bolt/src/types.ts

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,6 @@
1-
export enum AudioCodec {
2-
aac = "aac",
3-
ac3 = "ac3",
4-
eac3 = "eac3",
5-
}
1+
export type VideoCodec = "h264" | "vp9" | "hevc";
62

7-
export enum VideoCodec {
8-
h264 = "h264",
9-
vp9 = "vp9",
10-
hevc = "hevc",
11-
}
3+
export type AudioCodec = "aac" | "ac3" | "eac3";
124

135
export type PartialStream =
146
| {

packages/shared/package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,8 @@
1212
"lint": "tsc && eslint"
1313
},
1414
"dependencies": {
15-
"@sinclair/typebox": "^0.32.34",
1615
"dotenv": "^16.4.5",
1716
"find-config": "^1.0.0",
18-
"iso-language-codes": "^2.0.0",
1917
"zod": "^3.23.8"
2018
},
2119
"devDependencies": {

packages/shared/src/lang.ts

Lines changed: 0 additions & 8 deletions
This file was deleted.

packages/stitcher/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"config": "workspace:*",
2222
"eslint": "^9.14.0",
2323
"typescript": "^5.6.3",
24-
"wrangler": "^3.84.1"
24+
"wrangler": "^3.92.0"
2525
},
2626
"dependencies": {
2727
"@elysiajs/cors": "^1.1.1",

0 commit comments

Comments
 (0)