Skip to content

Commit 6728d30

Browse files
committed
refactor(adaptive-streaming): default to svc
1 parent cf717f1 commit 6728d30

8 files changed

Lines changed: 17 additions & 17 deletions

File tree

frontend/src/composables/useMeetingLogic.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1146,7 +1146,7 @@ export function useMeetingLogic(meetingState, meetingId, options = {}) {
11461146
// Connect to SFU
11471147
await sfuManager.value.connect(meetingState.guestAuthToken.value);
11481148
meetingState.codecStrategy.value =
1149-
getSFUClient().getCodecStrategy() || "auto";
1149+
getSFUClient().getCodecStrategy() || "svc";
11501150

11511151
// Join the room with user details and initial media states
11521152
let userData;

frontend/src/composables/useMeetingState.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export function useMeetingState() {
2222
const connectionError = ref(null);
2323
const isInPreview = ref(true);
2424
const isSetupComplete = ref(false);
25-
const codecStrategy = ref("auto");
25+
const codecStrategy = ref("svc");
2626

2727
// Network quality states
2828
const networkQuality = ref("good");
@@ -120,7 +120,7 @@ export function useMeetingState() {
120120
isConnecting.value = false;
121121
isInPreview.value = true;
122122
isSetupComplete.value = false;
123-
codecStrategy.value = "auto";
123+
codecStrategy.value = "svc";
124124
networkQuality.value = "good";
125125
connectionIssues.value = [];
126126
participants.value = {};

frontend/src/utils/media/TransportManager.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ export class TransportManager {
141141
this.device = null;
142142
this.sfuClient = null;
143143
this.routerRtpCapabilities = null;
144-
this.activeVideoStrategy = "simulcast";
144+
this.activeVideoStrategy = "svc";
145145
this.eventHandlers = {};
146146
}
147147

@@ -161,7 +161,7 @@ export class TransportManager {
161161
}
162162

163163
getVideoEncodingDecision() {
164-
const preference = this.sfuClient?.getCodecStrategy?.() || "auto";
164+
const preference = this.sfuClient?.getCodecStrategy?.() || "svc";
165165
return resolveCodecStrategy({
166166
preference,
167167
deviceCapabilities: this.device?.rtpCapabilities,

frontend/src/utils/media/codecStrategy.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export type CodecDecision = {
1313
requested: string;
1414
};
1515

16-
const VALID_STRATEGIES = new Set(["auto", "svc", "simulcast"]);
16+
const VALID_STRATEGIES = new Set(["svc", "simulcast"]);
1717
// multi-spatial single-temporal modes (L3T1/L2T1/L1T1).
1818
const PREFERRED_SVC_MODES = ["L3T1_KEY", "L3T1", "L2T1", "L2T1_KEY", "L1T1"];
1919

@@ -34,8 +34,8 @@ function nowMs() {
3434
}
3535

3636
export function normalizeCodecStrategy(value: string): string {
37-
const normalized = value.trim().toLowerCase() || "auto";
38-
return VALID_STRATEGIES.has(normalized) ? normalized : "auto";
37+
const normalized = value.trim().toLowerCase() || "svc";
38+
return VALID_STRATEGIES.has(normalized) ? normalized : "svc";
3939
}
4040

4141
function detectBrowserSupport() {

frontend/src/utils/sfu-client.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class SFUClient {
1717
sfuUrl: null,
1818
sfuPort: null,
1919
tokenExpiresAt: null,
20-
codecStrategy: "auto",
20+
codecStrategy: "svc",
2121
};
2222
this.eventHandlers = new Map();
2323
this.isRefreshingToken = false;
@@ -85,7 +85,7 @@ class SFUClient {
8585
is_guest: true,
8686
},
8787
tokenExpiresAt: Date.now() + 24 * 60 * 60 * 1000, // 24 hours
88-
codecStrategy: response.codec_strategy || "auto",
88+
codecStrategy: response.codec_strategy || "svc",
8989
};
9090
}
9191

@@ -226,7 +226,7 @@ class SFUClient {
226226
sfuUrl: null,
227227
sfuPort: null,
228228
tokenExpiresAt: null,
229-
codecStrategy: "auto",
229+
codecStrategy: "svc",
230230
};
231231
this.isRefreshingToken = false;
232232
}
@@ -635,7 +635,7 @@ class SFUClient {
635635
}
636636

637637
getCodecStrategy() {
638-
return this.connectionDetails.codecStrategy || "auto";
638+
return this.connectionDetails.codecStrategy || "svc";
639639
}
640640

641641
getConnectionStatus() {

meet/api/meeting.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525

2626
def _get_codec_strategy() -> str:
27-
return frappe.get_cached_doc("Sae Settings").codec_strategy or "auto"
27+
return frappe.get_cached_doc("Sae Settings").codec_strategy or "svc"
2828

2929

3030
@frappe.whitelist()

meet/meet/doctype/sae_settings/sae_settings.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515
"fieldtype": "Section Break"
1616
},
1717
{
18-
"default": "auto",
18+
"default": "svc",
1919
"description": "Determines whether meetings try VP9 SVC first or stick to VP8 simulcast.",
2020
"fieldname": "codec_strategy",
2121
"fieldtype": "Select",
2222
"label": "Codec Strategy",
23-
"options": "auto\nsvc\nsimulcast"
23+
"options": "svc\nsimulcast"
2424
},
2525
{
2626
"default": "1",
@@ -34,7 +34,7 @@
3434
"index_web_pages_for_search": 1,
3535
"issingle": 1,
3636
"links": [],
37-
"modified": "2026-01-16 09:49:10.774663",
37+
"modified": "2026-04-02 15:26:04.984617",
3838
"modified_by": "Administrator",
3939
"module": "Meet",
4040
"name": "Sae Settings",

meet/meet/doctype/sae_settings/sae_settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class SaeSettings(Document):
1515
from frappe.types import DF
1616

1717
allow_guest: DF.Check
18-
codec_strategy: DF.Literal["auto", "svc", "simulcast"]
18+
codec_strategy: DF.Literal["svc", "simulcast"]
1919
# end: auto-generated types
2020

2121
pass

0 commit comments

Comments
 (0)