Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
A high-level object representing a single stream. It might be backed, or
not, by an actual flow of data in a pipeline (Pad
).
A Stream
does not care about data changes (such as decoding, encoding,
parsing,...) as long as the underlying data flow corresponds to the same
high-level flow (ex: a certain audio track).
A Stream
contains all the information pertinent to a stream, such as
stream-id, tags, caps, type, ...
Elements can subclass a Stream
for internal usage (to contain information
pertinent to streams of data).
- newtype Stream = Stream (ManagedPtr Stream)
- class GObject o => IsStream o
- toStream :: (MonadIO m, IsStream o) => o -> m Stream
- noStream :: Maybe Stream
- streamGetCaps :: (HasCallStack, MonadIO m, IsStream a) => a -> m (Maybe Caps)
- streamGetStreamFlags :: (HasCallStack, MonadIO m, IsStream a) => a -> m [StreamFlags]
- streamGetStreamId :: (HasCallStack, MonadIO m, IsStream a) => a -> m (Maybe Text)
- streamGetStreamType :: (HasCallStack, MonadIO m, IsStream a) => a -> m [StreamType]
- streamGetTags :: (HasCallStack, MonadIO m, IsStream a) => a -> m (Maybe TagList)
- streamNew :: (HasCallStack, MonadIO m) => Maybe Text -> Maybe Caps -> [StreamType] -> [StreamFlags] -> m Stream
- streamSetCaps :: (HasCallStack, MonadIO m, IsStream a) => a -> Maybe Caps -> m ()
- streamSetStreamFlags :: (HasCallStack, MonadIO m, IsStream a) => a -> [StreamFlags] -> m ()
- streamSetStreamType :: (HasCallStack, MonadIO m, IsStream a) => a -> [StreamType] -> m ()
- streamSetTags :: (HasCallStack, MonadIO m, IsStream a) => a -> Maybe TagList -> m ()
- clearStreamCaps :: (MonadIO m, IsStream o) => o -> m ()
- constructStreamCaps :: IsStream o => Caps -> IO (GValueConstruct o)
- getStreamCaps :: (MonadIO m, IsStream o) => o -> m (Maybe Caps)
- setStreamCaps :: (MonadIO m, IsStream o) => o -> Caps -> m ()
- constructStreamStreamFlags :: IsStream o => [StreamFlags] -> IO (GValueConstruct o)
- getStreamStreamFlags :: (MonadIO m, IsStream o) => o -> m [StreamFlags]
- setStreamStreamFlags :: (MonadIO m, IsStream o) => o -> [StreamFlags] -> m ()
- constructStreamStreamId :: IsStream o => Text -> IO (GValueConstruct o)
- getStreamStreamId :: (MonadIO m, IsStream o) => o -> m (Maybe Text)
- constructStreamStreamType :: IsStream o => [StreamType] -> IO (GValueConstruct o)
- getStreamStreamType :: (MonadIO m, IsStream o) => o -> m [StreamType]
- setStreamStreamType :: (MonadIO m, IsStream o) => o -> [StreamType] -> m ()
- clearStreamTags :: (MonadIO m, IsStream o) => o -> m ()
- constructStreamTags :: IsStream o => TagList -> IO (GValueConstruct o)
- getStreamTags :: (MonadIO m, IsStream o) => o -> m (Maybe TagList)
- setStreamTags :: (MonadIO m, IsStream o) => o -> TagList -> m ()
Exported types
Methods
getCaps
:: (HasCallStack, MonadIO m, IsStream a) | |
=> a |
|
-> m (Maybe Caps) | Returns: The |
Retrieve the caps for stream
, if any
Since: 1.10
getStreamFlags
:: (HasCallStack, MonadIO m, IsStream a) | |
=> a |
|
-> m [StreamFlags] | Returns: The |
Retrieve the current stream flags for stream
Since: 1.10
getStreamId
:: (HasCallStack, MonadIO m, IsStream a) | |
=> a |
|
-> m (Maybe Text) | Returns: the stream ID of |
Returns the stream ID of stream
.
Since: 1.10
getStreamType
:: (HasCallStack, MonadIO m, IsStream a) | |
=> a |
|
-> m [StreamType] | Returns: The |
Retrieve the stream type for stream
Since: 1.10
getTags
:: (HasCallStack, MonadIO m, IsStream a) | |
=> a |
|
-> m (Maybe TagList) | Returns: The |
Retrieve the tags for stream
, if any
Since: 1.10
new
:: (HasCallStack, MonadIO m) | |
=> Maybe Text |
|
-> Maybe Caps |
|
-> [StreamType] |
|
-> [StreamFlags] |
|
-> m Stream | Returns: The new |
Create a new Stream
for the given streamId
, caps
, type
and flags
Since: 1.10
setCaps
Set the caps for the Stream
Since: 1.10
setStreamFlags
:: (HasCallStack, MonadIO m, IsStream a) | |
=> a |
|
-> [StreamFlags] |
|
-> m () |
Set the flags
for the stream
.
Since: 1.10
setStreamType
:: (HasCallStack, MonadIO m, IsStream a) | |
=> a |
|
-> [StreamType] |
|
-> m () |
Set the stream type of stream
Since: 1.10
setTags
:: (HasCallStack, MonadIO m, IsStream a) | |
=> a |
|
-> Maybe TagList |
|
-> m () |
Set the tags for the Stream
Since: 1.10
Properties
caps
clearStreamCaps :: (MonadIO m, IsStream o) => o -> m () Source #
constructStreamCaps :: IsStream o => Caps -> IO (GValueConstruct o) Source #
streamFlags
constructStreamStreamFlags :: IsStream o => [StreamFlags] -> IO (GValueConstruct o) Source #
getStreamStreamFlags :: (MonadIO m, IsStream o) => o -> m [StreamFlags] Source #
setStreamStreamFlags :: (MonadIO m, IsStream o) => o -> [StreamFlags] -> m () Source #
streamId
constructStreamStreamId :: IsStream o => Text -> IO (GValueConstruct o) Source #
streamType
constructStreamStreamType :: IsStream o => [StreamType] -> IO (GValueConstruct o) Source #
getStreamStreamType :: (MonadIO m, IsStream o) => o -> m [StreamType] Source #
setStreamStreamType :: (MonadIO m, IsStream o) => o -> [StreamType] -> m () Source #
tags
clearStreamTags :: (MonadIO m, IsStream o) => o -> m () Source #
constructStreamTags :: IsStream o => TagList -> IO (GValueConstruct o) Source #