Opus codec wrapper.
More...
This section describes functions to initialize and register Opus codec factory to the codec manager. After the codec factory has been registered, application can use Codec Framework API to manipulate the codec.
Opus codec uses multiple bit rates, and supports fullband (48 kHz sampling rate), super wideband (24 kHz sampling rate), wideband (16 kHz sampling rate), medium band (12kHz sampling rate), and narrowband (8 kHz sampling rate).
Codec Settings
General codec settings for this codec such as VAD and PLC can be manipulated through the setting
field in pjmedia_codec_param (see the documentation of pjmedia_codec_param for more info).
For Opus codec specific settings, such as sample rate, channel count, bit rate, complexity, and CBR, can be configured in pjmedia_codec_opus_config. The default setting of sample rate is specified in PJMEDIA_CODEC_OPUS_DEFAULT_SAMPLE_RATE. The default setting of bitrate is specified in PJMEDIA_CODEC_OPUS_DEFAULT_BIT_RATE. And the default setting of complexity is specified in PJMEDIA_CODEC_OPUS_DEFAULT_COMPLEXITY.
After modifying any of these settings, application needs to call pjmedia_codec_opus_set_default_param(), which will generate the appropriate decoding fmtp attributes.
Here is an example of modifying the codec settings:
...
param.setting.vad = 1;
...
pjmedia_codec_opus_set_default_param(&opus_cfg, ¶m);
pj_status_t pjmedia_codec_opus_get_config(pjmedia_codec_opus_config *cfg)
◆ pjmedia_codec_opus_init()
Initialize and register Opus codec factory to pjmedia endpoint.
- Parameters
-
endpt | The pjmedia endpoint. |
- Returns
- PJ_SUCCESS on success.
◆ pjmedia_codec_opus_deinit()
Unregister Opus codec factory from pjmedia endpoint and deinitialize the Opus codec library.
- Returns
- PJ_SUCCESS on success.
◆ pjmedia_codec_opus_get_config()
Get the default Opus configuration.
- Parameters
-
cfg | Opus codec configuration. |
- Returns
- PJ_SUCCESS on success.
◆ pjmedia_codec_opus_set_default_param()
Set the default Opus configuration and set the default Opus codec param. Note that the function will call pjmedia_codec_mgr_set_default_param().
- Parameters
-
cfg | Opus codec configuration. |
param | On input, the default Opus codec parameter to be set. On output, the current default Opus codec parameter after setting. This may be different from the input because some settings can be rejected, or overwritten by the Opus codec configuration above. |
- Returns
- PJ_SUCCESS on success.