if self.end + src.len() > self.queue.len() {
self.queue.resize(self.end + src.len(), 0);
}
- self.queue[self.end..][..src.len()].copy_from_slice(&src);
+ self.queue[self.end..][..src.len()].copy_from_slice(src);
self.end += src.len();
self.spos = samplepos;
self.set_time();
samples: None
};
let dst_info = NAAudioInfo {
- sample_rate: sample_rate,
+ sample_rate,
channels: ch,
format: SND_S16_FORMAT,
block_len: 0,
pub fn get_queue_size(&self) -> usize { self.aqueue.len() }
pub fn try_send_audio(&mut self, evt: PktSendEvent) -> bool {
- if self.aqueue.len() > 0 {
+ if !self.aqueue.is_empty() {
self.aqueue.push(evt);
false
} else {
use osd::*;
#[repr(u8)]
-#[derive(Clone,Copy,Debug,PartialEq)]
+#[derive(Clone,Copy,Debug,PartialEq,Default)]
enum DecodingState {
+ #[default]
Normal,
Waiting,
Flush,
End,
}
-impl Default for DecodingState {
- fn default() -> Self { DecodingState::Normal }
-}
-
impl From<u8> for DecodingState {
fn from(val: u8) -> Self {
match val {
println!("failed to open {}", name);
return;
};
- let dmx_fact;
let mut fr = FileReader::new_read(&mut file);
let mut br = ByteReader::new(&mut fr);
let res = detect::detect_format(name, &mut br);
println!("error finding {} demuxer", dmx_name);
return;
}
- dmx_fact = ret.unwrap();
+ let dmx_fact = ret.unwrap();
br.seek(SeekFrom::Start(0)).expect("should be able to seek to the start");
let ret = create_demuxer(dmx_fact, &mut br);
if ret.is_err() {
self.ifmt.get_format() != vinfo.get_format() {
self.ifmt = vinfo;
let sc_ifmt = ScaleInfo { width: self.ifmt.get_width(), height: self.ifmt.get_height(), fmt: self.ifmt.get_format() };
- let do_yuv = if let ColorModel::YUV(_) = self.ifmt.get_format().get_model() { true } else { false };
+ let do_yuv = self.ifmt.get_format().get_model().is_yuv();
let ofmt = if do_yuv { self.ofmt_yuv } else { self.ofmt_rgb };
self.scaler = NAScale::new(sc_ifmt, ofmt).expect("scaling should not fail");
}
},
DecoderType::VideoMT(ref mut vdec, ref mut reord) => {
let queue_id = reord.register_frame();
- match vdec.queue_pkt(&mut self.dec.dsupp, &pkt, queue_id) {
+ match vdec.queue_pkt(&mut self.dec.dsupp, pkt, queue_id) {
Ok(true) => {},
Ok(false) => {
while !vdec.can_take_input() || vdec.has_output() {
},
};
}
- match vdec.queue_pkt(&mut self.dec.dsupp, &pkt, queue_id) {
+ match vdec.queue_pkt(&mut self.dec.dsupp, pkt, queue_id) {
Ok(true) => {},
Ok(false) => {
println!("still can't queue frame!");
self.vqueue.len() >= size
}
pub fn try_send_video(&mut self, evt: PktSendEvent) -> bool {
- if self.vqueue.len() > 0 {
+ if !self.vqueue.is_empty() {
self.vqueue.push(evt);
false
} else {
frm.rgb_tex.with_lock(None, |buffer: &mut [u8], pitch: usize| {
let csize = sstride.min(pitch);
for (dst, src) in buffer.chunks_mut(pitch).zip(src.chunks(sstride)) {
- (&mut dst[..csize]).copy_from_slice(&src[..csize]);
+ dst[..csize].copy_from_slice(&src[..csize]);
}
true
}).expect("surface should be locked");