diff options
| author | Yuval Adam <_@yuv.al> | 2022-07-30 17:54:27 +0300 |
|---|---|---|
| committer | Yuval Adam <_@yuv.al> | 2022-07-30 17:54:27 +0300 |
| commit | c810802fb20bfb37b822dfc054e8052934e03ca2 (patch) | |
| tree | 9e16896406c5d4823890c483005032d0ced1c469 | |
| parent | ec4708fe19d27dc097cbeca0f40a90a65abd4e99 (diff) | |
Add modes enum in constructor
| -rw-r--r-- | c2enc/src/main.rs | 4 | ||||
| -rw-r--r-- | libcodec2/src/lib.rs | 12 |
2 files changed, 12 insertions, 4 deletions
diff --git a/c2enc/src/main.rs b/c2enc/src/main.rs index 9df5b6a..82ff52d 100644 --- a/c2enc/src/main.rs +++ b/c2enc/src/main.rs @@ -7,6 +7,8 @@ use std::io::prelude::*; use std::io::Cursor; use std::path::Path; +use libcodec2::{Codec2, Modes}; + struct Cli { in_path: std::path::PathBuf, out_path: std::path::PathBuf, @@ -32,7 +34,7 @@ fn main() { speech.push(i); } - let c = libcodec2::Codec2::new(); + let c = Codec2::new(Modes::Mode1400); let nsam = c.samples_per_frame(); let nbits = c.bytes_per_frame(); 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") } |
