opus_multistream_encoder_init method
Initialize a previously allocated multistream encoder state.
The memory pointed to by a st must be at least the size returned by
opus_multistream_encoder_get_size().
This is intended for applications which use their own allocator instead of
malloc.
To reset a previously initialized state, use the #OPUS_RESET_STATE CTL.
@see opus_multistream_encoder_create
@see opus_multistream_encoder_get_size
@param st OpusMSEncoder*: Multistream encoder state to initialize.
@param Fs opus_int32: Sampling rate of the input signal (in Hz).
This must be one of 8000, 12000, 16000,
24000, or 48000.
@param channels int: Number of channels in the input signal.
This must be at most 255.
It may be greater than the number of
coded channels (streams +
coupled_streams
).
@param streams int: The total number of streams to encode from the
input.
This must be no more than the number of channels.
@param coupled_streams int: Number of coupled (2 channel) streams
to encode.
This must be no larger than the total
number of streams.
Additionally, The total number of
encoded channels (streams +
coupled_streams
) must be no
more than the number of input channels.
@paramin
mapping const unsigned char
: Mapping from
encoded channels to input channels, as described in
@ref opus_multistream. As an extra constraint, the
multistream encoder does not allow encoding coupled
streams for which one channel is unused since this
is never a good idea.
@param application int: The target encoder application.
This must be one of the following:channels
- #OPUS_APPLICATION_VOIP
- Process signal for improved speech intelligibility.
- #OPUS_APPLICATION_AUDIO
- Favor faithfulness to the original input.
- #OPUS_APPLICATION_RESTRICTED_LOWDELAY
- Configure the minimum possible coding delay by disabling certain modes of operation.
Implementation
int opus_multistream_encoder_init(
ffi.Pointer<OpusMSEncoder> st,
int Fs,
int channels,
int streams,
int coupled_streams,
ffi.Pointer<ffi.Uint8> mapping,
int application,
) {
return _opus_multistream_encoder_init(
st, Fs, channels, streams, coupled_streams, mapping, application);
}