mirror of
https://github.com/livekit/livekit.git
synced 2026-10-23 08:42:46 +00:00
1 parent
0b58164597
commit
3d45aa2e87
2 files changed
+4
-11
No files matched your search
@@ -49,13 +49,10 @@ var StaticConfigurations = []ConfigurationItem{
|
||||
},
|
||||
Merge: true,
|
||||
},
|
||||
// Firefox 155 enabled AV1 for WebRTC by default, but 155/156 decode only the base spatial
|
||||
// layer of an AV1 SVC stream. SVC is not visible in SDP, so such a subscriber negotiating AV1
|
||||
// would be forwarded the SVC stream in place of the publisher's backup codec and render
|
||||
// higher layers black. Firefox 157 decodes the higher layers, so it keeps AV1.
|
||||
// Firefox does not publish AV1 either (no SVC encoding), so disable it in both directions.
|
||||
// Firefox enabled AV1 for WebRTC by default since 155, but we got reports of issues with AV1 decoding.
|
||||
// It does not publish AV1 either (no SVC encoding), so disable it in both directions.
|
||||
{
|
||||
Match: must.Get(NewScriptMatch(`(c.browser == "firefox" || c.browser == "firefox mobile") && c.browser_version < "157"`)),
|
||||
Match: must.Get(NewScriptMatch(`c.browser == "firefox" || c.browser == "firefox mobile"`)),
|
||||
Configuration: &livekit.ClientConfiguration{
|
||||
DisabledCodecs: &livekit.DisabledCodecs{
|
||||
Codecs: []*livekit.Codec{
|
||||
|
||||
@@ -62,15 +62,11 @@ func TestStaticConfigurationAV1(t *testing.T) {
|
||||
return false
|
||||
}
|
||||
|
||||
// Firefox 155/156 decode only the base spatial layer of AV1 SVC
|
||||
require.True(t, av1Disabled(&livekit.ClientInfo{Browser: "Firefox", BrowserVersion: "155.0", Os: "macOS"}))
|
||||
require.True(t, av1Disabled(&livekit.ClientInfo{Browser: "firefox", BrowserVersion: "156.0.1", Os: "windows"}))
|
||||
require.True(t, av1Disabled(&livekit.ClientInfo{Browser: "firefox", BrowserVersion: "158.0.2", Os: "windows"}))
|
||||
// an unknown version is treated as affected
|
||||
require.True(t, av1Disabled(&livekit.ClientInfo{Browser: "firefox", Os: "linux"}))
|
||||
// Firefox 157 decodes every layer, so it keeps AV1
|
||||
require.False(t, av1Disabled(&livekit.ClientInfo{Browser: "firefox", BrowserVersion: "157.0", Os: "windows"}))
|
||||
require.False(t, av1Disabled(&livekit.ClientInfo{Browser: "firefox", BrowserVersion: "158.0.2", Os: "windows"}))
|
||||
require.False(t, av1Disabled(&livekit.ClientInfo{Browser: "chrome", Os: "linux"}))
|
||||
|
||||
// Firefox for Android keeps the AV1 rule alongside its H.264 publish rule
|
||||
android := &livekit.ClientInfo{Browser: "firefox mobile", BrowserVersion: "156.0", Os: "android"}
|
||||
|
||||
Reference in new issue
Block a user