sndplay: skip null audio buffers
[nihav-player.git] / sndplay / src / main.rs
index bdd64dcdaa60a4a501917f622a607e2a02f10686..39ee76dee8edfd164ec99079d929e6a7d71dc301 100644 (file)
@@ -147,6 +147,9 @@ impl<'a> Decoder<'a> {
                         match self.decoder.decode(&mut self.dsupp, &pkt) {
                             Ok(frm) => {
                                 let buf = frm.get_buffer();
+                                if let NABufferType::None = buf {
+                                    return false;
+                                }
                                 if let Some(pts) = frm.ts.get_pts() {
                                     self.samplepos = NATimeInfo::ts_to_time(pts, u64::from(self.arate), frm.ts.tb_num, frm.ts.tb_den);
                                 }
@@ -308,7 +311,7 @@ impl Player {
         let ch    = ainfo.channels;
 
         println!("Playing {} [{}Hz {}ch]", name, arate, ch);
-        let ret = AudioDevice::open(arate, ch.max(2));
+        let ret = AudioDevice::open(arate, ch.min(2));
         if ret.is_none() {
             println!("cannot open output");
             return;