From c810802fb20bfb37b822dfc054e8052934e03ca2 Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Sat, 30 Jul 2022 17:54:27 +0300 Subject: Add modes enum in constructor --- libcodec2/src/lib.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'libcodec2') diff --git a/libcodec2/src/lib.rs b/libcodec2/src/lib.rs index b909078..7bf4ea2 100644 --- a/libcodec2/src/lib.rs +++ b/libcodec2/src/lib.rs @@ -1,15 +1,21 @@ extern crate codec2_sys as ffi; pub enum Modes { + Mode3200 = ffi::CODEC2_MODE_3200 as isize, + Mode2400 = ffi::CODEC2_MODE_2400 as isize, + Mode1600 = ffi::CODEC2_MODE_1600 as isize, Mode1400 = ffi::CODEC2_MODE_1400 as isize, + Mode1300 = ffi::CODEC2_MODE_1300 as isize, + Mode1200 = ffi::CODEC2_MODE_1200 as isize, + Mode700C = ffi::CODEC2_MODE_700C as isize, + Mode450 = ffi::CODEC2_MODE_450 as isize, } pub struct Codec2(*mut ffi::CODEC2); impl Codec2 { - pub fn new() -> Self { - let mode = ffi::CODEC2_MODE_1400.try_into().unwrap(); - let c = unsafe { ffi::codec2_create(mode) }; + pub fn new(mode: Modes) -> Self { + let c = unsafe { ffi::codec2_create(mode as i32) }; if c.is_null() { panic!("error") } -- cgit v1.3.1