| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.MediaBus.Stream
- class SetPayload a (GetPayload a) ~ a => HasPayload a where
- type GetPayload a
- type SetPayload a b
- data FrameCtx i s t p = MkFrameCtx !i !t !s !p
- frameCtxSourceId :: forall i s t p i. Lens (FrameCtx i s t p) (FrameCtx i s t p) i i
- frameCtxSeqNumRef :: forall i s t p s. Lens (FrameCtx i s t p) (FrameCtx i s t p) s s
- frameCtxTimestampRef :: forall i s t p t. Lens (FrameCtx i s t p) (FrameCtx i s t p) t t
- frameCtxInit :: forall i s t p p. Lens (FrameCtx i s t p) (FrameCtx i s t p) p p
- data Frame s t c = MkFrame !t !s !c
- frameSeqNum :: forall s t c s. Lens (Frame s t c) (Frame s t c) s s
- frameTimestamp :: forall s t c t. Lens (Frame s t c) (Frame s t c) t t
- framePayload :: forall s t c c. Lens (Frame s t c) (Frame s t c) c c
- newtype Stream i s t p c = MkStream (Streamish i s t p c)
- stream :: forall i s t p c i s t p c. Iso (Stream i s t p c) (Stream i s t p c) (Streamish i s t p c) (Streamish i s t p c)
- yieldStreamish :: Monad m => Streamish i s t p c -> Conduit a m (Stream i s t p c)
- yieldStreamish' :: (NFData i, NFData s, NFData t, NFData c, NFData p, Monad m) => Streamish i s t p c -> Conduit a m (Stream i s t p c)
- yieldNextFrame :: Monad m => Frame s t c -> Conduit a m (Stream i s t p c)
- yieldNextFrame' :: (NFData i, NFData s, NFData t, NFData c, NFData p, Monad m) => Frame s t c -> Conduit a m (Stream i s t p c)
- yieldStartFrameCtx :: Monad m => FrameCtx i s t p -> Conduit a m (Stream i s t p c)
- yieldStartFrameCtx' :: (NFData i, NFData s, NFData t, NFData c, NFData p, NFData (FrameCtx i s t p), Monad m) => FrameCtx i s t p -> Conduit a m (Stream i s t p c)
- toFramesC :: Monad m => Conduit (Stream i s t p c) m (Frame s t c)
- overStreamC :: Monad m => Conduit (Series (FrameCtx i s t p) (Frame s t c)) m (Series (FrameCtx i' s' t' p') (Frame s' t' c')) -> Conduit (Stream i s t p c) m (Stream i' s' t' p' c')
- mapFramesC :: Monad m => (Frame s t c -> m (Frame s t c')) -> Conduit (Stream i s t p c) m (Stream i s t p c')
- mapFramesC' :: (NFData i, NFData s, NFData t, NFData c', Monad m) => (Frame s t c -> Frame s t c') -> Conduit (Stream i s t p c) m (Stream i s t p c')
- mapSeqNumC :: Monad m => (s -> s') -> Conduit (Stream i s t p c) m (Stream i s' t p c)
- mapTicksC :: Monad m => (t -> t') -> Conduit (Stream i s t p c) m (Stream i s t' p c)
- mapTicksC' :: (NFData t, Monad m) => (t -> t') -> Conduit (Stream i s t p c) m (Stream i s t' p c)
- mapPayloadMC :: Monad m => (c -> m c') -> Conduit (Stream i s t p c) m (Stream i s t p c')
- mapPayloadMC' :: (NFData (Stream i s t p c'), Monad m) => (c -> m c') -> Conduit (Stream i s t p c) m (Stream i s t p c')
- mapPayloadC' :: (NFData c', Monad m) => (c -> c') -> Conduit (Stream i s t p c) m (Stream i s t p c')
- convertTicksC' :: forall proxy0 proxy1 m r t r' t' i s c p. (NFData t, NFData t', KnownNat r, KnownNat r', Integral t, Integral t', Monad m, NFData t') => proxy0 '(r, t) -> proxy1 '(r', t') -> Conduit (Stream i s (Ticks r t) p c) m (Stream i s (Ticks r' t') p c)
- foldStream :: (Monoid o, Monad m) => (Stream i s t p c -> o) -> Sink (Stream i s t p c) m o
- foldStreamM :: (Monoid o, Monad m) => (Stream i s t p c -> m o) -> Sink (Stream i s t p c) m o
- concatStreamContents :: (Monoid c, Monad m) => Sink (Stream i s t p c) m c
Documentation
class SetPayload a (GetPayload a) ~ a => HasPayload a where Source #
Minimal complete definition
Methods
payload :: Traversal a (SetPayload a b) (GetPayload a) b Source #
Instances
| HasPayload a => HasPayload (Discontinous a) Source # | |
| HasPayload (Frame s t c) Source # | |
| HasPayload (Stream i s t p c) Source # | |
data FrameCtx i s t p Source #
Constructors
| MkFrameCtx !i !t !s !p |
Instances
| (Eq p, Eq s, Eq t, Eq i) => Eq (FrameCtx i s t p) Source # | |
| (Ord p, Ord s, Ord t, Ord i) => Ord (FrameCtx i s t p) Source # | |
| (Show i, Show s, Show t, Show p) => Show (FrameCtx i s t p) Source # | |
| Generic (FrameCtx i s t p) Source # | |
| (Arbitrary i, Arbitrary s, Arbitrary t, Arbitrary p) => Arbitrary (FrameCtx i s t p) Source # | |
| (Default i, Default s, Default t, Default p) => Default (FrameCtx i s t p) Source # | |
| (NFData i, NFData s, NFData t, NFData p) => NFData (FrameCtx i s t p) Source # | |
| HasSeqNum (FrameCtx i s t p) Source # | |
| HasSeqNumT (FrameCtx i s t p) Source # | |
| HasTimestamp (FrameCtx i s t p) Source # | |
| HasTimestampT (FrameCtx i s t p) Source # | |
| HasDuration (FrameCtx i s t p) Source # | |
| type Rep (FrameCtx i s t p) Source # | |
| type GetSeqNum (FrameCtx i s t p) Source # | |
| type GetTimestamp (FrameCtx i s t p) Source # | |
| type SetSeqNum (FrameCtx i s t p) x Source # | |
| type SetTimestamp (FrameCtx i s t p) t' Source # | |
A Frame can be anything that has a start time and is exactly one time
unit long, it can respresent anything ranging from an audio buffer with 20ms
of audio to a single pulse coded audio sample, of course it could also be a
video frame or a chat message.
Constructors
| MkFrame !t !s !c |
Instances
| Functor (Frame s t) Source # | |
| (Eq c, Eq s, Eq t) => Eq (Frame s t c) Source # | |
| (Ord c, Ord s, Ord t) => Ord (Frame s t c) Source # | |
| (Show s, Show t, Show v) => Show (Frame s t v) Source # | |
| Generic (Frame s t c) Source # | |
| (Arbitrary c, Arbitrary s, Arbitrary t) => Arbitrary (Frame s t c) Source # | |
| (Default s, Default t, Default c) => Default (Frame s t c) Source # | |
| (NFData c, NFData s, NFData t) => NFData (Frame s t c) Source # | |
| HasPayload (Frame s t c) Source # | |
| HasSeqNum (Frame s t c) Source # | |
| HasSeqNumT (Frame s t c) Source # | |
| HasTimestamp (Frame s t c) Source # | |
| HasTimestampT (Frame s t c) Source # | |
| HasDuration c => HasDuration (Frame s t c) Source # | |
| type Rep (Frame s t c) Source # | |
| type GetPayload (Frame s t c) Source # | |
| type GetSeqNum (Frame s t c) Source # | |
| type GetTimestamp (Frame s t c) Source # | |
| type SetPayload (Frame s t c) d Source # | |
| type SetSeqNum (Frame s t c) x Source # | |
| type SetTimestamp (Frame s t c) t' Source # | |
newtype Stream i s t p c Source #
Constructors
| MkStream (Streamish i s t p c) |
Instances
stream :: forall i s t p c i s t p c. Iso (Stream i s t p c) (Stream i s t p c) (Streamish i s t p c) (Streamish i s t p c) Source #
yieldStreamish' :: (NFData i, NFData s, NFData t, NFData c, NFData p, Monad m) => Streamish i s t p c -> Conduit a m (Stream i s t p c) Source #
yieldNextFrame' :: (NFData i, NFData s, NFData t, NFData c, NFData p, Monad m) => Frame s t c -> Conduit a m (Stream i s t p c) Source #
yieldStartFrameCtx' :: (NFData i, NFData s, NFData t, NFData c, NFData p, NFData (FrameCtx i s t p), Monad m) => FrameCtx i s t p -> Conduit a m (Stream i s t p c) Source #
overStreamC :: Monad m => Conduit (Series (FrameCtx i s t p) (Frame s t c)) m (Series (FrameCtx i' s' t' p') (Frame s' t' c')) -> Conduit (Stream i s t p c) m (Stream i' s' t' p' c') Source #
mapFramesC :: Monad m => (Frame s t c -> m (Frame s t c')) -> Conduit (Stream i s t p c) m (Stream i s t p c') Source #
mapFramesC' :: (NFData i, NFData s, NFData t, NFData c', Monad m) => (Frame s t c -> Frame s t c') -> Conduit (Stream i s t p c) m (Stream i s t p c') Source #
mapTicksC' :: (NFData t, Monad m) => (t -> t') -> Conduit (Stream i s t p c) m (Stream i s t' p c) Source #
mapPayloadMC' :: (NFData (Stream i s t p c'), Monad m) => (c -> m c') -> Conduit (Stream i s t p c) m (Stream i s t p c') Source #
mapPayloadC' :: (NFData c', Monad m) => (c -> c') -> Conduit (Stream i s t p c) m (Stream i s t p c') Source #
convertTicksC' :: forall proxy0 proxy1 m r t r' t' i s c p. (NFData t, NFData t', KnownNat r, KnownNat r', Integral t, Integral t', Monad m, NFData t') => proxy0 '(r, t) -> proxy1 '(r', t') -> Conduit (Stream i s (Ticks r t) p c) m (Stream i s (Ticks r' t') p c) Source #
foldStream :: (Monoid o, Monad m) => (Stream i s t p c -> o) -> Sink (Stream i s t p c) m o Source #