SimpleOpusEncoder constructor

SimpleOpusEncoder({
  1. required int sampleRate,
  2. required int channels,
  3. required Application application,
})

Creates an new SimpleOpusEncoder based on the sampleRate, channels and application type. See the matching fields for more information about these parameters.

Implementation

factory SimpleOpusEncoder(
    {required int sampleRate,
    required int channels,
    required Application application}) {
  Pointer<Int32> error = opus.allocator.call<Int32>(1);
  Pointer<opus_encoder.OpusEncoder> encoder = opus.encoder
      .opus_encoder_create(
          sampleRate, channels, _applicationCodes[application]!, error);
  try {
    if (error.value == opus_defines.OPUS_OK) {
      return SimpleOpusEncoder._(encoder, sampleRate, channels, application);
    } else {
      throw OpusException(error.value);
    }
  } finally {
    opus.allocator.free(error);
  }
}