+ if !self.be || self.bits == 8 {
+ self.io.write_buf(buf.get_data().as_slice())?;
+ } else {
+ let data = buf.get_data();
+ match self.bits {
+ 16 => {
+ for samp in data.chunks(2) {
+ self.io.write_byte(samp[1])?;
+ self.io.write_byte(samp[0])?;
+ }
+ },
+ 24 => {
+ for samp in data.chunks(3) {
+ self.io.write_byte(samp[2])?;
+ self.io.write_byte(samp[1])?;
+ self.io.write_byte(samp[0])?;
+ }
+ },
+ 32 => {
+ for samp in data.chunks(4) {
+ self.io.write_byte(samp[3])?;
+ self.io.write_byte(samp[2])?;
+ self.io.write_byte(samp[1])?;
+ self.io.write_byte(samp[0])?;
+ }
+ },
+ _ => unimplemented!(),
+ };
+ }