diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2017-05-19 15:17:13 +0200 |
---|---|---|
committer | Kostya Shishkov <kostya.shishkov@gmail.com> | 2017-05-19 15:17:13 +0200 |
commit | 3f7c7cfd270b5b75917508aee6ca5877433a984d (patch) | |
tree | b4de1125448a69b7a369b54ca87e26c25fce693b /src | |
parent | eb71d98ffafe7cc00bab4c3b7c9c97f813eca6c4 (diff) | |
download | nihav-3f7c7cfd270b5b75917508aee6ca5877433a984d.tar.gz |
prettier demuxers module
Diffstat (limited to 'src')
-rw-r--r-- | src/demuxers/mod.rs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/demuxers/mod.rs b/src/demuxers/mod.rs index 707984b..5e337a5 100644 --- a/src/demuxers/mod.rs +++ b/src/demuxers/mod.rs @@ -9,13 +9,19 @@ use frame::*; use std::collections::HashMap; use io::byteio::*; +/// Possible stream types. #[derive(Debug,Clone,Copy)] #[allow(dead_code)] pub enum StreamType { + /// video stream Video, + /// audio stream Audio, + /// subtitles Subtitles, + /// any data stream (or might be an unrecognized audio/video stream) Data, + /// nonexistent stream None, } @@ -194,8 +200,11 @@ impl FrameFromPacket for NAFrame { } } +///The structure used to create demuxers. pub trait DemuxerCreator { + /// Create new demuxer instance that will use `ByteReader` source as an input. fn new_demuxer<'a>(&self, br: &'a mut ByteReader<'a>) -> Box<Demux<'a> + 'a>; + /// Get the name of current demuxer creator. fn get_name(&self) -> &'static str; } @@ -207,9 +216,9 @@ const DEMUXERS: &[&'static DemuxerCreator] = &[ ]; pub fn find_demuxer(name: &str) -> Option<&DemuxerCreator> { - for i in 0..DEMUXERS.len() { - if DEMUXERS[i].get_name() == name { - return Some(DEMUXERS[i]); + for &dmx in DEMUXERS { + if dmx.get_name() == name { + return Some(dmx); } } None |