summaryrefslogtreecommitdiff
path: root/libcodec2/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'libcodec2/src/lib.rs')
-rw-r--r--libcodec2/src/lib.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/libcodec2/src/lib.rs b/libcodec2/src/lib.rs
index 82cb2fa..c968abb 100644
--- a/libcodec2/src/lib.rs
+++ b/libcodec2/src/lib.rs
@@ -1,5 +1,7 @@
extern crate codec2_sys as ffi;
+use std::str;
+
pub enum Modes {
Mode3200 = ffi::CODEC2_MODE_3200 as isize,
Mode2400 = ffi::CODEC2_MODE_2400 as isize,
@@ -22,6 +24,13 @@ impl Codec2 {
Codec2(c)
}
+ pub fn version(&self) -> &str {
+ str::from_utf8(ffi::CODEC2_VERSION)
+ .unwrap()
+ .strip_suffix('\0')
+ .unwrap()
+ }
+
pub fn destroy(&self) {
unsafe { ffi::codec2_destroy(self.0) }
}
@@ -72,5 +81,6 @@ mod tests {
let c = Codec2::new(Modes::Mode1400);
assert_eq!(c.bytes_per_frame(), 7);
assert_eq!(c.samples_per_frame(), 320);
+ assert_eq!(c.version(), "1.0.3");
}
}