gi-gst-1.0.7: GStreamer bindings

CopyrightWill Thompson, Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.Gst.Structs.Event

Contents

Description

The event class provides factory methods to construct events for sending and functions to query (parse) received events.

Events are usually created with gst_event_new_*() which takes event-type specific parameters as arguments. To send an event application will usually use gst_element_send_event() and elements will use gst_pad_send_event() or gst_pad_push_event(). The event should be unreffed with gst_event_unref() if it has not been sent.

Events that have been received can be parsed with their respective gst_event_parse_*() functions. It is valid to pass %NULL for unwanted details.

Events are passed between elements in parallel to the data stream. Some events are serialized with buffers, others are not. Some events only travel downstream, others only upstream. Some events can travel both upstream and downstream.

The events are used to signal special conditions in the datastream such as EOS (end of stream) or the start of a new stream-segment. Events are also used to flush the pipeline of any pending data.

Most of the event API is used inside plugins. Applications usually only construct and use seek events. To do that gst_event_new_seek() is used to create a seek event. It takes the needed parameters to specify seeking time and mode. |[language="C" -- GstEvent *event; gboolean result; ... // construct a seek event to play the media from second 2 to 5, flush // the pipeline to decrease latency. event = gst_event_new_seek (1.0, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH, GST_SEEK_TYPE_SET, 2 * GST_SECOND, GST_SEEK_TYPE_SET, 5 * GST_SECOND); ... result = gst_element_send_event (pipeline, event); if (!result) g_warning ("seek failed"); ... ]|

Synopsis

Exported types

newtype Event Source #

Constructors

Event (ManagedPtr Event) 

Instances

BoxedObject Event Source # 

Methods

boxedType :: Event -> IO GType

(~) AttrOpTag tag AttrSet => Constructible Event tag Source # 

Methods

new :: MonadIO m => (ManagedPtr Event -> Event) -> [AttrOp Event tag] -> m Event

((~) * info (ResolveEventMethod t Event), MethodInfo * info Event p) => IsLabel t (Event -> p) Source # 

Methods

fromLabel :: Proxy# Symbol t -> Event -> p #

((~) * info (ResolveEventMethod t Event), MethodInfo * info Event p) => IsLabelProxy t (Event -> p) Source # 

Methods

fromLabelProxy :: Proxy Symbol t -> Event -> p

HasAttributeList * Event Source # 
((~) * signature (m Structure), MonadIO m) => MethodInfo * EventWritableStructureMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventWritableStructureMethodInfo Event -> signature -> s

((~) * signature ([StreamFlags] -> m ()), MonadIO m) => MethodInfo * EventSetStreamFlagsMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventSetStreamFlagsMethodInfo Event -> signature -> s

((~) * signature (Word32 -> m ()), MonadIO m) => MethodInfo * EventSetSeqnumMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventSetSeqnumMethodInfo Event -> signature -> s

((~) * signature (Int64 -> m ()), MonadIO m) => MethodInfo * EventSetRunningTimeOffsetMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventSetRunningTimeOffsetMethodInfo Event -> signature -> s

((~) * signature (Word32 -> m ()), MonadIO m) => MethodInfo * EventSetGroupIdMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventSetGroupIdMethodInfo Event -> signature -> s

((~) * signature (m Text), MonadIO m) => MethodInfo * EventParseTocSelectMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseTocSelectMethodInfo Event -> signature -> s

((~) * signature (m (Toc, Bool)), MonadIO m) => MethodInfo * EventParseTocMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseTocMethodInfo Event -> signature -> s

((~) * signature (m TagList), MonadIO m) => MethodInfo * EventParseTagMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseTagMethodInfo Event -> signature -> s

((~) * signature (m Text), MonadIO m) => MethodInfo * EventParseStreamStartMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseStreamStartMethodInfo Event -> signature -> s

((~) * signature (m [StreamFlags]), MonadIO m) => MethodInfo * EventParseStreamFlagsMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseStreamFlagsMethodInfo Event -> signature -> s

((~) * signature (m (Format, Word64, Double, Bool, Bool)), MonadIO m) => MethodInfo * EventParseStepMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseStepMethodInfo Event -> signature -> s

((~) * signature (m Message), MonadIO m) => MethodInfo * EventParseSinkMessageMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseSinkMessageMethodInfo Event -> signature -> s

((~) * signature (m (Format, Int64)), MonadIO m) => MethodInfo * EventParseSegmentDoneMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseSegmentDoneMethodInfo Event -> signature -> s

((~) * signature (m Segment), MonadIO m) => MethodInfo * EventParseSegmentMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseSegmentMethodInfo Event -> signature -> s

((~) * signature (m (Double, Format, [SeekFlags], SeekType, Int64, SeekType, Int64)), MonadIO m) => MethodInfo * EventParseSeekMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseSeekMethodInfo Event -> signature -> s

((~) * signature (m (QOSType, Double, Int64, Word64)), MonadIO m) => MethodInfo * EventParseQosMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseQosMethodInfo Event -> signature -> s

((~) * signature (Maybe Text -> m (Text, Buffer)), MonadIO m) => MethodInfo * EventParseProtectionMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseProtectionMethodInfo Event -> signature -> s

((~) * signature (m Word64), MonadIO m) => MethodInfo * EventParseLatencyMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseLatencyMethodInfo Event -> signature -> s

((~) * signature (m (Bool, Word32)), MonadIO m) => MethodInfo * EventParseGroupIdMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseGroupIdMethodInfo Event -> signature -> s

((~) * signature (m (Word64, Word64)), MonadIO m) => MethodInfo * EventParseGapMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseGapMethodInfo Event -> signature -> s

((~) * signature (m Bool), MonadIO m) => MethodInfo * EventParseFlushStopMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseFlushStopMethodInfo Event -> signature -> s

((~) * signature (m Caps), MonadIO m) => MethodInfo * EventParseCapsMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseCapsMethodInfo Event -> signature -> s

((~) * signature (m (Format, Int64, Int64, Bool)), MonadIO m) => MethodInfo * EventParseBufferSizeMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseBufferSizeMethodInfo Event -> signature -> s

((~) * signature (Text -> m Bool), MonadIO m) => MethodInfo * EventHasNameMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventHasNameMethodInfo Event -> signature -> s

((~) * signature (m Structure), MonadIO m) => MethodInfo * EventGetStructureMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventGetStructureMethodInfo Event -> signature -> s

((~) * signature (m Word32), MonadIO m) => MethodInfo * EventGetSeqnumMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventGetSeqnumMethodInfo Event -> signature -> s

((~) * signature (m Int64), MonadIO m) => MethodInfo * EventGetRunningTimeOffsetMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventGetRunningTimeOffsetMethodInfo Event -> signature -> s

((~) * signature (Segment -> m ()), MonadIO m) => MethodInfo * EventCopySegmentMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventCopySegmentMethodInfo Event -> signature -> s

type AttributeList Event Source # 
type AttributeList Event

newZeroEvent :: MonadIO m => m Event Source #

Construct a Event struct initialized to zero.

Methods

copySegment

data EventCopySegmentMethodInfo Source #

Instances

((~) * signature (Segment -> m ()), MonadIO m) => MethodInfo * EventCopySegmentMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventCopySegmentMethodInfo Event -> signature -> s

getRunningTimeOffset

data EventGetRunningTimeOffsetMethodInfo Source #

Instances

((~) * signature (m Int64), MonadIO m) => MethodInfo * EventGetRunningTimeOffsetMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventGetRunningTimeOffsetMethodInfo Event -> signature -> s

getSeqnum

data EventGetSeqnumMethodInfo Source #

Instances

((~) * signature (m Word32), MonadIO m) => MethodInfo * EventGetSeqnumMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventGetSeqnumMethodInfo Event -> signature -> s

getStructure

data EventGetStructureMethodInfo Source #

Instances

((~) * signature (m Structure), MonadIO m) => MethodInfo * EventGetStructureMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventGetStructureMethodInfo Event -> signature -> s

hasName

data EventHasNameMethodInfo Source #

Instances

((~) * signature (Text -> m Bool), MonadIO m) => MethodInfo * EventHasNameMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventHasNameMethodInfo Event -> signature -> s

eventHasName :: MonadIO m => Event -> Text -> m Bool Source #

newBufferSize

newCaps

newCustom

newEos

newFlushStart

newFlushStop

newGap

newLatency

newNavigation

newProtection

eventNewProtection :: MonadIO m => Text -> Buffer -> Text -> m Event Source #

newQos

newReconfigure

newSeek

newSegment

newSegmentDone

newSinkMessage

newStep

newStreamStart

newTag

newToc

newTocSelect

parseBufferSize

data EventParseBufferSizeMethodInfo Source #

Instances

((~) * signature (m (Format, Int64, Int64, Bool)), MonadIO m) => MethodInfo * EventParseBufferSizeMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseBufferSizeMethodInfo Event -> signature -> s

parseCaps

data EventParseCapsMethodInfo Source #

Instances

((~) * signature (m Caps), MonadIO m) => MethodInfo * EventParseCapsMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseCapsMethodInfo Event -> signature -> s

parseFlushStop

data EventParseFlushStopMethodInfo Source #

Instances

((~) * signature (m Bool), MonadIO m) => MethodInfo * EventParseFlushStopMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseFlushStopMethodInfo Event -> signature -> s

parseGap

data EventParseGapMethodInfo Source #

Instances

((~) * signature (m (Word64, Word64)), MonadIO m) => MethodInfo * EventParseGapMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseGapMethodInfo Event -> signature -> s

parseGroupId

data EventParseGroupIdMethodInfo Source #

Instances

((~) * signature (m (Bool, Word32)), MonadIO m) => MethodInfo * EventParseGroupIdMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseGroupIdMethodInfo Event -> signature -> s

parseLatency

data EventParseLatencyMethodInfo Source #

Instances

((~) * signature (m Word64), MonadIO m) => MethodInfo * EventParseLatencyMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseLatencyMethodInfo Event -> signature -> s

parseProtection

data EventParseProtectionMethodInfo Source #

Instances

((~) * signature (Maybe Text -> m (Text, Buffer)), MonadIO m) => MethodInfo * EventParseProtectionMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseProtectionMethodInfo Event -> signature -> s

eventParseProtection :: MonadIO m => Event -> Maybe Text -> m (Text, Buffer) Source #

parseQos

data EventParseQosMethodInfo Source #

Instances

((~) * signature (m (QOSType, Double, Int64, Word64)), MonadIO m) => MethodInfo * EventParseQosMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseQosMethodInfo Event -> signature -> s

parseSeek

data EventParseSeekMethodInfo Source #

Instances

((~) * signature (m (Double, Format, [SeekFlags], SeekType, Int64, SeekType, Int64)), MonadIO m) => MethodInfo * EventParseSeekMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseSeekMethodInfo Event -> signature -> s

parseSegment

data EventParseSegmentMethodInfo Source #

Instances

((~) * signature (m Segment), MonadIO m) => MethodInfo * EventParseSegmentMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseSegmentMethodInfo Event -> signature -> s

parseSegmentDone

data EventParseSegmentDoneMethodInfo Source #

Instances

((~) * signature (m (Format, Int64)), MonadIO m) => MethodInfo * EventParseSegmentDoneMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseSegmentDoneMethodInfo Event -> signature -> s

parseSinkMessage

data EventParseSinkMessageMethodInfo Source #

Instances

((~) * signature (m Message), MonadIO m) => MethodInfo * EventParseSinkMessageMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseSinkMessageMethodInfo Event -> signature -> s

parseStep

data EventParseStepMethodInfo Source #

Instances

((~) * signature (m (Format, Word64, Double, Bool, Bool)), MonadIO m) => MethodInfo * EventParseStepMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseStepMethodInfo Event -> signature -> s

parseStreamFlags

data EventParseStreamFlagsMethodInfo Source #

Instances

((~) * signature (m [StreamFlags]), MonadIO m) => MethodInfo * EventParseStreamFlagsMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseStreamFlagsMethodInfo Event -> signature -> s

parseStreamStart

data EventParseStreamStartMethodInfo Source #

Instances

((~) * signature (m Text), MonadIO m) => MethodInfo * EventParseStreamStartMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseStreamStartMethodInfo Event -> signature -> s

parseTag

data EventParseTagMethodInfo Source #

Instances

((~) * signature (m TagList), MonadIO m) => MethodInfo * EventParseTagMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseTagMethodInfo Event -> signature -> s

parseToc

data EventParseTocMethodInfo Source #

Instances

((~) * signature (m (Toc, Bool)), MonadIO m) => MethodInfo * EventParseTocMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseTocMethodInfo Event -> signature -> s

parseTocSelect

data EventParseTocSelectMethodInfo Source #

Instances

((~) * signature (m Text), MonadIO m) => MethodInfo * EventParseTocSelectMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventParseTocSelectMethodInfo Event -> signature -> s

setGroupId

data EventSetGroupIdMethodInfo Source #

Instances

((~) * signature (Word32 -> m ()), MonadIO m) => MethodInfo * EventSetGroupIdMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventSetGroupIdMethodInfo Event -> signature -> s

setRunningTimeOffset

data EventSetRunningTimeOffsetMethodInfo Source #

Instances

((~) * signature (Int64 -> m ()), MonadIO m) => MethodInfo * EventSetRunningTimeOffsetMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventSetRunningTimeOffsetMethodInfo Event -> signature -> s

setSeqnum

data EventSetSeqnumMethodInfo Source #

Instances

((~) * signature (Word32 -> m ()), MonadIO m) => MethodInfo * EventSetSeqnumMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventSetSeqnumMethodInfo Event -> signature -> s

setStreamFlags

data EventSetStreamFlagsMethodInfo Source #

Instances

((~) * signature ([StreamFlags] -> m ()), MonadIO m) => MethodInfo * EventSetStreamFlagsMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventSetStreamFlagsMethodInfo Event -> signature -> s

writableStructure

data EventWritableStructureMethodInfo Source #

Instances

((~) * signature (m Structure), MonadIO m) => MethodInfo * EventWritableStructureMethodInfo Event signature Source # 

Methods

overloadedMethod :: MethodProxy EventWritableStructureMethodInfo Event -> signature -> s

Properties

miniObject

event_miniObject :: AttrLabelProxy "miniObject" Source #

seqnum

event_seqnum :: AttrLabelProxy "seqnum" Source #

timestamp

event_timestamp :: AttrLabelProxy "timestamp" Source #

type

event_type :: AttrLabelProxy "type" Source #