make decoders Send-able
[nihav.git] / nihav-core / src / codecs / mod.rs
index ee6f5cdc2bae6d5432a540abac063ed7e1ad0206..9c59c40184029358038e1a87bdcc25910503ae28 100644 (file)
@@ -255,12 +255,13 @@ impl Default for NADecoderSupport {
 pub trait NADecoder {
     fn init(&mut self, supp: &mut NADecoderSupport, info: NACodecInfoRef) -> DecoderResult<()>;
     fn decode(&mut self, supp: &mut NADecoderSupport, pkt: &NAPacket) -> DecoderResult<NAFrameRef>;
+    fn flush(&mut self);
 }
 
 #[derive(Clone,Copy)]
 pub struct DecoderInfo {
     pub name: &'static str,
-    pub get_decoder: fn () -> Box<dyn NADecoder>,
+    pub get_decoder: fn () -> Box<dyn NADecoder + Send>,
 }
 
 #[cfg(any(feature="blockdsp"))]
@@ -281,7 +282,7 @@ impl RegisteredDecoders {
     pub fn add_decoder(&mut self, dec: DecoderInfo) {
         self.decs.push(dec);
     }
-    pub fn find_decoder(&self, name: &str) -> Option<fn () -> Box<dyn NADecoder>> {
+    pub fn find_decoder(&self, name: &str) -> Option<fn () -> Box<dyn NADecoder + Send>> {
         for &dec in self.decs.iter() {
             if dec.name == name {
                 return Some(dec.get_decoder);