-- | A conduit that conceals 'Missing' frames. module Data.MediaBus.Conduit.Discontinous ( concealMissing ) where import Conduit import Control.Parallel.Strategies (NFData) import Data.MediaBus.Media.Discontinous import Data.MediaBus.Media.Stream import Data.MediaBus.Conduit.Stream -- | Replace 'Missing' parts with the given concealment value. concealMissing :: (NFData c, Monad m) => c -> Conduit (Stream i s t p (Discontinous c)) m (Stream i s t p c) concealMissing conceal = mapFrameContentC' go where go (Got !b) = b go Missing = conceal -- TODO delete ??