mediabus-0.4.0.1: Multimedia streaming on top of Conduit

Safe HaskellNone
LanguageHaskell2010

Data.MediaBus.Media.Discontinous

Description

Discontinous content. Some media streams, like e.g. RTP streams received via UDP, have the characteristic, that some times packages are lost. This module provides a type that is isomorphic to Maybe to indicate that the content for a media frame is missing. It might take some effort to detect missing content, like a jitter buffer, or the comparison of sequence numbers.

TODO: Create a gap detection mechanism, a simple stateful monad that knows the next timestamp etc.

Synopsis

Documentation

data Discontinous a Source #

Content that can be Missing.

Constructors

Missing

A place holder for frame content that is missing

Got !a

Available content

Instances

Show a => Show (Discontinous a) Source # 
Generic (Discontinous a) Source # 

Associated Types

type Rep (Discontinous a) :: * -> * #

Methods

from :: Discontinous a -> Rep (Discontinous a) x #

to :: Rep (Discontinous a) x -> Discontinous a #

Default (Discontinous a) Source # 

Methods

def :: Discontinous a #

NFData a => NFData (Discontinous a) Source # 

Methods

rnf :: Discontinous a -> () #

HasDuration a => HasDuration (Discontinous a) Source # 
HasRate c => HasRate (Discontinous c) Source # 

Associated Types

type SetRate (Discontinous c) (r :: Rate) :: * Source #

type GetRate (Discontinous c) :: Rate Source #

EachMedia a b => EachMedia (Discontinous a) (Discontinous b) Source # 
EachChannel a b => EachChannel (Discontinous a) (Discontinous b) Source # 
EachSample a b => EachSample (Discontinous a) (Discontinous b) Source # 
(HasRate i, (~) Rate (GetRate i) ri, (~) * (SetRate i rj) j, KnownRate rj, CoerceRate i j ri rj) => CoerceRate (Discontinous i) (Discontinous j) ri rj Source # 

Methods

coerceRate :: proxy rj -> Discontinous i -> SetRate (Discontinous i) rj Source #

type Rep (Discontinous a) Source # 
type Rep (Discontinous a) = D1 (MetaData "Discontinous" "Data.MediaBus.Media.Discontinous" "mediabus-0.4.0.1-KxOztWIrQ7SL9k5ZMcQI4H" False) ((:+:) (C1 (MetaCons "Missing" PrefixI False) U1) (C1 (MetaCons "Got" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a))))
type MediaFromE (Discontinous a) Source # 
type MediaToE (Discontinous b) Source # 
type ChannelsFrom (Discontinous a) Source # 
type ChannelsTo (Discontinous b) Source # 
type GetRate (Discontinous c) Source # 
type SamplesFrom (Discontinous a) Source # 
type SamplesTo (Discontinous b) Source # 
type SetRate (Discontinous c) r' Source # 

_Missing :: forall a. Prism' (Discontinous a) () Source #

_Got :: forall a a. Prism (Discontinous a) (Discontinous a) a a Source #