X-Git-Url: https://git.nihav.org/?p=nihav-tool.git;a=blobdiff_plain;f=src%2Fdemux.rs;h=9ea9cbb16a9b03dfb3f809eeb8d2b9bcc7ff54f0;hp=9c65b85614387b0089bd86c15881f2ccf37beee0;hb=HEAD;hpb=081797c71bd8cd4342d58a2124cbd7f72d02b7d2 diff --git a/src/demux.rs b/src/demux.rs index 9c65b85..1dc78c5 100644 --- a/src/demux.rs +++ b/src/demux.rs @@ -112,7 +112,7 @@ impl<'a> DemuxerObject<'a> { } } let (dmx_name, _) = res.unwrap_or(("", detect::DetectionScore::No)); - if dmx_name != "" { + if !dmx_name.is_empty() { println!("trying demuxer {} on {}", dmx_name, name); if let Some(dmx_fact) = reg.dmx_reg.find_demuxer(dmx_name) { br.seek(SeekFrom::Start(0)).unwrap(); @@ -120,7 +120,7 @@ impl<'a> DemuxerObject<'a> { return DemuxerObject::Normal(dmx); } } - if dmx_name != "" { + if !dmx_name.is_empty() { println!("trying raw demuxer {} on {}", dmx_name, name); if let Some(rdmx_fact) = reg.rdmx_reg.find_demuxer(dmx_name) { br.seek(SeekFrom::Start(0)).unwrap(); @@ -128,7 +128,8 @@ impl<'a> DemuxerObject<'a> { let mut pkts = Vec::new(); for stream in dmx.get_streams() { if let Some(pcreate) = reg.pkt_reg.find_packetiser(stream.get_info().get_name()) { - let packetiser = (pcreate)(); + let mut packetiser = (pcreate)(); + packetiser.attach_stream(stream); pkts.push(Some(packetiser)); } else { pkts.push(None); @@ -169,7 +170,7 @@ impl<'a> DemuxerObject<'a> { break; } } - if pname != "" { + if !pname.is_empty() { println!("found raw stream of type {} for {}", pname, name); let pcreate = reg.pkt_reg.find_packetiser(pname).unwrap(); let mut packetiser = (pcreate)(); @@ -182,10 +183,7 @@ impl<'a> DemuxerObject<'a> { } } pub fn is_none(&self) -> bool { - match *self { - DemuxerObject::None => true, - _ => false, - } + matches!(*self, DemuxerObject::None) } pub fn get_duration(&self) -> u64 { match *self {