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 collection of Stream
that are available.
A StreamCollection
will be provided by elements that can make those
streams available. Applications can use the collection to show the user
what streams are available by using gst_stream_collection_get_stream
()
Once posted, a StreamCollection
is immutable. Updates are made by sending
a new StreamCollection
message, which may or may not share some of
the Stream
objects from the collection it replaces. The receiver can check
the sender of a stream collection message to know which collection is
obsoleted.
Several elements in a pipeline can provide StreamCollection
.
Applications can activate streams from a collection by using the
GST_EVENT_SELECT_STREAMS
event on a pipeline, bin or element.
- newtype StreamCollection = StreamCollection (ManagedPtr StreamCollection)
- class GObject o => IsStreamCollection o
- toStreamCollection :: IsStreamCollection o => o -> IO StreamCollection
- noStreamCollection :: Maybe StreamCollection
- data StreamCollectionAddStreamMethodInfo
- streamCollectionAddStream :: (HasCallStack, MonadIO m, IsStreamCollection a, IsStream b) => a -> b -> m Bool
- data StreamCollectionGetSizeMethodInfo
- streamCollectionGetSize :: (HasCallStack, MonadIO m, IsStreamCollection a) => a -> m Word32
- data StreamCollectionGetStreamMethodInfo
- streamCollectionGetStream :: (HasCallStack, MonadIO m, IsStreamCollection a) => a -> Word32 -> m Stream
- data StreamCollectionGetUpstreamIdMethodInfo
- streamCollectionGetUpstreamId :: (HasCallStack, MonadIO m, IsStreamCollection a) => a -> m Text
- streamCollectionNew :: (HasCallStack, MonadIO m) => Maybe Text -> m StreamCollection
- data StreamCollectionUpstreamIdPropertyInfo
- clearStreamCollectionUpstreamId :: (MonadIO m, IsStreamCollection o) => o -> m ()
- constructStreamCollectionUpstreamId :: IsStreamCollection o => Text -> IO (GValueConstruct o)
- getStreamCollectionUpstreamId :: (MonadIO m, IsStreamCollection o) => o -> m Text
- setStreamCollectionUpstreamId :: (MonadIO m, IsStreamCollection o) => o -> Text -> m ()
- streamCollectionUpstreamId :: AttrLabelProxy "upstreamId"
- type C_StreamCollectionStreamNotifyCallback = Ptr () -> Ptr Stream -> Ptr GParamSpec -> Ptr () -> IO ()
- type StreamCollectionStreamNotifyCallback = Stream -> GParamSpec -> IO ()
- data StreamCollectionStreamNotifySignalInfo
- afterStreamCollectionStreamNotify :: (GObject a, MonadIO m) => a -> StreamCollectionStreamNotifyCallback -> m SignalHandlerId
- genClosure_StreamCollectionStreamNotify :: StreamCollectionStreamNotifyCallback -> IO Closure
- mk_StreamCollectionStreamNotifyCallback :: C_StreamCollectionStreamNotifyCallback -> IO (FunPtr C_StreamCollectionStreamNotifyCallback)
- noStreamCollectionStreamNotifyCallback :: Maybe StreamCollectionStreamNotifyCallback
- onStreamCollectionStreamNotify :: (GObject a, MonadIO m) => a -> StreamCollectionStreamNotifyCallback -> m SignalHandlerId
- wrap_StreamCollectionStreamNotifyCallback :: StreamCollectionStreamNotifyCallback -> Ptr () -> Ptr Stream -> Ptr GParamSpec -> Ptr () -> IO ()
Exported types
newtype StreamCollection Source #
GObject StreamCollection Source # | |
IsObject StreamCollection Source # | |
IsStreamCollection StreamCollection Source # | |
IsObject StreamCollection Source # | |
((~) * info (ResolveStreamCollectionMethod t StreamCollection), MethodInfo * info StreamCollection p) => IsLabel t (StreamCollection -> p) Source # | |
((~) * info (ResolveStreamCollectionMethod t StreamCollection), MethodInfo * info StreamCollection p) => IsLabelProxy t (StreamCollection -> p) Source # | |
HasAttributeList * StreamCollection Source # | |
type AttributeList StreamCollection Source # | |
type SignalList StreamCollection Source # | |
class GObject o => IsStreamCollection o Source #
toStreamCollection :: IsStreamCollection o => o -> IO StreamCollection Source #
Methods
addStream
data StreamCollectionAddStreamMethodInfo Source #
((~) * signature (b -> m Bool), MonadIO m, IsStreamCollection a, IsStream b) => MethodInfo * StreamCollectionAddStreamMethodInfo a signature Source # | |
streamCollectionAddStream Source #
:: (HasCallStack, MonadIO m, IsStreamCollection a, IsStream b) | |
=> a |
|
-> b |
|
-> m Bool |
Add the given stream
to the collection
.
Since: 1.10
getSize
data StreamCollectionGetSizeMethodInfo Source #
((~) * signature (m Word32), MonadIO m, IsStreamCollection a) => MethodInfo * StreamCollectionGetSizeMethodInfo a signature Source # | |
streamCollectionGetSize Source #
:: (HasCallStack, MonadIO m, IsStreamCollection a) | |
=> a |
|
-> m Word32 | Returns: The number of streams that |
Get the number of streams this collection contains
Since: 1.10
getStream
data StreamCollectionGetStreamMethodInfo Source #
((~) * signature (Word32 -> m Stream), MonadIO m, IsStreamCollection a) => MethodInfo * StreamCollectionGetStreamMethodInfo a signature Source # | |
streamCollectionGetStream Source #
:: (HasCallStack, MonadIO m, IsStreamCollection a) | |
=> a |
|
-> Word32 |
|
-> m Stream | Returns: A |
getUpstreamId
data StreamCollectionGetUpstreamIdMethodInfo Source #
((~) * signature (m Text), MonadIO m, IsStreamCollection a) => MethodInfo * StreamCollectionGetUpstreamIdMethodInfo a signature Source # | |
streamCollectionGetUpstreamId Source #
:: (HasCallStack, MonadIO m, IsStreamCollection a) | |
=> a |
|
-> m Text | Returns: The upstream id |
Returns the upstream id of the collection
.
Since: 1.10
new
:: (HasCallStack, MonadIO m) | |
=> Maybe Text |
|
-> m StreamCollection | Returns: The new |
Create a new StreamCollection
.
Since: 1.10
Properties
upstreamId
data StreamCollectionUpstreamIdPropertyInfo Source #
clearStreamCollectionUpstreamId :: (MonadIO m, IsStreamCollection o) => o -> m () Source #
constructStreamCollectionUpstreamId :: IsStreamCollection o => Text -> IO (GValueConstruct o) Source #
getStreamCollectionUpstreamId :: (MonadIO m, IsStreamCollection o) => o -> m Text Source #
setStreamCollectionUpstreamId :: (MonadIO m, IsStreamCollection o) => o -> Text -> m () Source #
streamCollectionUpstreamId :: AttrLabelProxy "upstreamId" Source #
Signals
streamNotify
type C_StreamCollectionStreamNotifyCallback = Ptr () -> Ptr Stream -> Ptr GParamSpec -> Ptr () -> IO () Source #
type StreamCollectionStreamNotifyCallback = Stream -> GParamSpec -> IO () Source #
afterStreamCollectionStreamNotify :: (GObject a, MonadIO m) => a -> StreamCollectionStreamNotifyCallback -> m SignalHandlerId Source #
genClosure_StreamCollectionStreamNotify :: StreamCollectionStreamNotifyCallback -> IO Closure Source #
mk_StreamCollectionStreamNotifyCallback :: C_StreamCollectionStreamNotifyCallback -> IO (FunPtr C_StreamCollectionStreamNotifyCallback) Source #
onStreamCollectionStreamNotify :: (GObject a, MonadIO m) => a -> StreamCollectionStreamNotifyCallback -> m SignalHandlerId Source #
wrap_StreamCollectionStreamNotifyCallback :: StreamCollectionStreamNotifyCallback -> Ptr () -> Ptr Stream -> Ptr GParamSpec -> Ptr () -> IO () Source #