gstreamer-0.12.1.2: Binding to the GStreamer open source multimedia framework.

Portability | portable (depends on GHC)
Stability | alpha
Maintainer | gtk2hs-devel\@lists.sourceforge.net
Safe Haskell | None

Media.Streaming.GStreamer.Core.Event

Contents

- Detail
- Types
- Event Operations

Description

An object describing events that are passed up and down a pipeline.

Synopsis

- data Event
- class MiniObjectClass o => EventClass o
- data EventType
  - = EventUnknown
  - | EventFlushStart
  - | EventFlushStop
  - | EventEOS
  - | EventNewSegment
  - | EventTag
  - | EventBufferSize
  - | EventQOS
  - | EventSeek
  - | EventNavigation
  - | EventLatency
  - | EventCustomUpstream
  - | EventCustomDownstream
  - | EventCustomDownstreamOOB
  - | EventCustomBoth
  - | EventCustomBothOOB
- data SeekFlags
  - = SeekFlagNone
  - | SeekFlagFlush
  - | SeekFlagAccurate
  - | SeekFlagKeyUnit
  - | SeekFlagSegment
  - | SeekFlagSkip
- data SeekType
  - = SeekTypeNone
  - | SeekTypeCur
  - | SeekTypeSet
  - | SeekTypeEnd
- eventType :: EventClass event => event -> EventType
- eventNewCustom :: EventType -> Structure -> IO Event
- eventNewEOS :: IO Event
- eventNewFlushStart :: IO Event
- eventNewFlushStop :: IO Event
- eventNewLatency :: ClockTime -> IO Event
- eventNewNavigation :: Structure -> IO Event
- eventNewNewSegment :: Bool -> Double -> Format -> Int64 -> Int64 -> Int64 -> IO Event
- eventNewNewSegmentFull :: Bool -> Double -> Double -> Format -> Int64 -> Int64 -> Int64 -> IO Event
- eventNewQOS :: Double -> ClockTimeDiff -> ClockTime -> IO Event
- eventNewSeek :: Double -> Format -> [SeekFlags] -> SeekType -> Int64 -> SeekType -> Int64 -> IO Event
- eventNewTag :: TagList -> IO Event
- eventParseBufferSize :: EventClass event => event -> Maybe (Format, Int64, Int64, Bool)
- eventParseLatency :: EventClass event => event -> Maybe ClockTime
- eventParseNewSegment :: EventClass event => event -> Maybe (Bool, Double, Format, Int64, Int64, Int64)
- eventParseNewSegmentFull :: EventClass event => event -> Maybe (Bool, Double, Double, Format, Int64, Int64, Int64)
- eventParseQOS :: EventClass event => event -> Maybe (Double, ClockTimeDiff, ClockTime)
- eventParseSeek :: EventClass event => event -> Maybe (Double, Format, [SeekFlags], SeekType, Int64, SeekType, Int64)
- eventParseTag :: EventClass event => event -> Maybe TagList
- eventTypeGetName :: EventType -> String
- eventTypeGetFlags :: EventType -> [EventTypeFlags]

# Detail

An `Event` is a message that is passed up and down a pipeline.

There are a number of predefined events and functions returning events. To send an event an application will usually use `elementSendEvent`, and elements will use `padSendEvent` or `padPushEvent`.

# Types

data Event

Instances

Eq Event |
Ord Event |
MiniObjectClass Event |
EventClass Event |

class MiniObjectClass o => EventClass o

Instances

EventClass Event |

data EventType

The event types that may occur in a pipeline.

Constructors

EventUnknown | an unknown event
EventFlushStart | start a flush operation
EventFlushStop | stop a flush operation
EventEOS | end of stream
EventNewSegment | a new segment follows in the dataflow
EventTag | a new set of metadata tags has been found
EventBufferSize | notification of buffering requirements
EventQOS | quality of service notification
EventSeek | a request for a new playback position and rate
EventNavigation | notification of user request
EventLatency | notification of latency adjustment
EventCustomUpstream | custom upstream event
EventCustomDownstream | custom downstream event
EventCustomDownstreamOOB | custom downstream out-of-band event
EventCustomBoth | custom bidirectional event
EventCustomBothOOB | custom bidirectional out-of-band event

Instances

Bounded EventType |
Enum EventType |
Eq EventType |
Show EventType |

data SeekFlags

Constructors

SeekFlagNone |
SeekFlagFlush |
SeekFlagAccurate |
SeekFlagKeyUnit |
SeekFlagSegment |
SeekFlagSkip |

Instances

Bounded SeekFlags |
Enum SeekFlags |
Eq SeekFlags |
Show SeekFlags |
Flags SeekFlags |

data SeekType

Constructors

SeekTypeNone |
SeekTypeCur |
SeekTypeSet |
SeekTypeEnd |

Instances

Enum SeekType |
Eq SeekType |
Show SeekType |

# Event Operations

eventType :: EventClass event => event -> EventType

eventNewCustom :: EventType -> Structure -> IO Event

eventNewEOS :: IO Event

eventNewFlushStart :: IO Event

eventNewFlushStop :: IO Event

eventNewLatency :: ClockTime -> IO Event

eventNewNavigation :: Structure -> IO Event

eventNewNewSegment :: Bool -> Double -> Format -> Int64 -> Int64 -> Int64 -> IO Event

eventNewNewSegmentFull :: Bool -> Double -> Double -> Format -> Int64 -> Int64 -> Int64 -> IO Event

eventNewQOS :: Double -> ClockTimeDiff -> ClockTime -> IO Event

eventNewSeek :: Double -> Format -> [SeekFlags] -> SeekType -> Int64 -> SeekType -> Int64 -> IO Event

eventNewTag :: TagList -> IO Event

eventParseBufferSize :: EventClass event => event -> Maybe (Format, Int64, Int64, Bool)

eventParseLatency :: EventClass event => event -> Maybe ClockTime

eventParseNewSegment :: EventClass event => event -> Maybe (Bool, Double, Format, Int64, Int64, Int64)

eventParseNewSegmentFull :: EventClass event => event -> Maybe (Bool, Double, Double, Format, Int64, Int64, Int64)

eventParseQOS :: EventClass event => event -> Maybe (Double, ClockTimeDiff, ClockTime)

eventParseSeek :: EventClass event => event -> Maybe (Double, Format, [SeekFlags], SeekType, Int64, SeekType, Int64)

eventParseTag :: EventClass event => event -> Maybe TagList

eventTypeGetName :: EventType -> String

eventTypeGetFlags :: EventType -> [EventTypeFlags]