| // Copyright 2022 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // https://github.com/w3c/web-codecs |
| |
| enum OpusBitstreamFormat { |
| "opus", |
| "ogg", |
| }; |
| |
| enum OpusSignal { |
| "auto", |
| "music", |
| "voice", |
| }; |
| |
| enum OpusApplication { |
| "voip", |
| "audio", |
| "lowdelay", |
| }; |
| |
| // NOTE: Keep this structure in sync with CopyOpusConfig() defined in |
| // audio_encoder.cc. |
| dictionary OpusEncoderConfig { |
| OpusBitstreamFormat format = "opus"; |
| OpusSignal signal = "auto"; |
| OpusApplication application = "audio"; |
| [EnforceRange] unsigned long long frameDuration = 20000; |
| [EnforceRange] unsigned long complexity; |
| [EnforceRange] unsigned long packetlossperc = 0; |
| boolean useinbandfec = false; |
| boolean usedtx = false; |
| }; |