summaryrefslogtreecommitdiff
path: root/libcodec2
diff options
context:
space:
mode:
Diffstat (limited to 'libcodec2')
-rw-r--r--libcodec2/src/lib.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/libcodec2/src/lib.rs b/libcodec2/src/lib.rs
index 5ce7850..9becb47 100644
--- a/libcodec2/src/lib.rs
+++ b/libcodec2/src/lib.rs
@@ -30,6 +30,14 @@ impl Codec2 {
/// Encode an array of speech samples into an array of bits
pub fn encode(&self, speech: &[i16], bits: &mut [u8]) {
+ let nsamples = self.samples_per_frame();
+ let nbits = self.bytes_per_frame();
+ if bits.len() != nsamples {
+ panic!("Samples buffer must be of length {}", nsamples);
+ }
+ if speech.len() != nbits {
+ panic!("Speech buffer must be of length {}", nsamples);
+ }
unsafe {
ffi::codec2_encode(self.0, bits.as_ptr() as *mut _, speech.as_ptr() as *mut _);
}