Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (inaki@blueleaf.cc) |
Safe Haskell | None |
Language | Haskell2010 |
- Enumerations
- BufferingMode
- BusSyncReply
- CapsIntersectMode
- ClockEntryType
- ClockReturn
- ClockType
- CoreError
- DebugColorMode
- DebugLevel
- EventType
- FlowReturn
- Format
- IteratorItem
- IteratorResult
- LibraryError
- PadDirection
- PadLinkReturn
- PadMode
- PadPresence
- PadProbeReturn
- ParseError
- PluginError
- ProgressType
- PromiseResult
- QOSType
- QueryType
- Rank
- ResourceError
- SearchMode
- SeekType
- State
- StateChange
- StateChangeReturn
- StreamError
- StreamStatusType
- StructureChangeType
- TagFlag
- TagMergeMode
- TagScope
- TaskState
- TocEntryType
- TocLoopType
- TocScope
- TracerValueScope
- TypeFindProbability
- URIError
- URIType
Synopsis
- data BufferingMode
- data BusSyncReply
- data CapsIntersectMode
- data ClockEntryType
- data ClockReturn
- data ClockType
- data CoreError
- catchCoreError :: IO a -> (CoreError -> GErrorMessage -> IO a) -> IO a
- handleCoreError :: (CoreError -> GErrorMessage -> IO a) -> IO a -> IO a
- data DebugColorMode
- data DebugLevel
- data EventType
- = EventTypeUnknown
- | EventTypeFlushStart
- | EventTypeFlushStop
- | EventTypeStreamStart
- | EventTypeCaps
- | EventTypeSegment
- | EventTypeStreamCollection
- | EventTypeTag
- | EventTypeBuffersize
- | EventTypeSinkMessage
- | EventTypeStreamGroupDone
- | EventTypeEos
- | EventTypeToc
- | EventTypeProtection
- | EventTypeSegmentDone
- | EventTypeGap
- | EventTypeQos
- | EventTypeSeek
- | EventTypeNavigation
- | EventTypeLatency
- | EventTypeStep
- | EventTypeReconfigure
- | EventTypeTocSelect
- | EventTypeSelectStreams
- | EventTypeCustomUpstream
- | EventTypeCustomDownstream
- | EventTypeCustomDownstreamOob
- | EventTypeCustomDownstreamSticky
- | EventTypeCustomBoth
- | EventTypeCustomBothOob
- | AnotherEventType Int
- data FlowReturn
- = FlowReturnCustomSuccess2
- | FlowReturnCustomSuccess1
- | FlowReturnCustomSuccess
- | FlowReturnOk
- | FlowReturnNotLinked
- | FlowReturnFlushing
- | FlowReturnEos
- | FlowReturnNotNegotiated
- | FlowReturnError
- | FlowReturnNotSupported
- | FlowReturnCustomError
- | FlowReturnCustomError1
- | FlowReturnCustomError2
- | AnotherFlowReturn Int
- data Format
- data IteratorItem
- data IteratorResult
- data LibraryError
- catchLibraryError :: IO a -> (LibraryError -> GErrorMessage -> IO a) -> IO a
- handleLibraryError :: (LibraryError -> GErrorMessage -> IO a) -> IO a -> IO a
- data PadDirection
- data PadLinkReturn
- data PadMode
- data PadPresence
- data PadProbeReturn
- data ParseError
- catchParseError :: IO a -> (ParseError -> GErrorMessage -> IO a) -> IO a
- handleParseError :: (ParseError -> GErrorMessage -> IO a) -> IO a -> IO a
- data PluginError
- catchPluginError :: IO a -> (PluginError -> GErrorMessage -> IO a) -> IO a
- handlePluginError :: (PluginError -> GErrorMessage -> IO a) -> IO a -> IO a
- data ProgressType
- data PromiseResult
- data QOSType
- data QueryType
- = QueryTypeUnknown
- | QueryTypePosition
- | QueryTypeDuration
- | QueryTypeLatency
- | QueryTypeJitter
- | QueryTypeRate
- | QueryTypeSeeking
- | QueryTypeSegment
- | QueryTypeConvert
- | QueryTypeFormats
- | QueryTypeBuffering
- | QueryTypeCustom
- | QueryTypeUri
- | QueryTypeAllocation
- | QueryTypeScheduling
- | QueryTypeAcceptCaps
- | QueryTypeCaps
- | QueryTypeDrain
- | QueryTypeContext
- | QueryTypeBitrate
- | AnotherQueryType Int
- data Rank
- data ResourceError
- = ResourceErrorFailed
- | ResourceErrorTooLazy
- | ResourceErrorNotFound
- | ResourceErrorBusy
- | ResourceErrorOpenRead
- | ResourceErrorOpenWrite
- | ResourceErrorOpenReadWrite
- | ResourceErrorClose
- | ResourceErrorRead
- | ResourceErrorWrite
- | ResourceErrorSeek
- | ResourceErrorSync
- | ResourceErrorSettings
- | ResourceErrorNoSpaceLeft
- | ResourceErrorNotAuthorized
- | ResourceErrorNumErrors
- | AnotherResourceError Int
- catchResourceError :: IO a -> (ResourceError -> GErrorMessage -> IO a) -> IO a
- handleResourceError :: (ResourceError -> GErrorMessage -> IO a) -> IO a -> IO a
- data SearchMode
- data SeekType
- data State
- data StateChange
- data StateChangeReturn
- data StreamError
- = StreamErrorFailed
- | StreamErrorTooLazy
- | StreamErrorNotImplemented
- | StreamErrorTypeNotFound
- | StreamErrorWrongType
- | StreamErrorCodecNotFound
- | StreamErrorDecode
- | StreamErrorEncode
- | StreamErrorDemux
- | StreamErrorMux
- | StreamErrorFormat
- | StreamErrorDecrypt
- | StreamErrorDecryptNokey
- | StreamErrorNumErrors
- | AnotherStreamError Int
- catchStreamError :: IO a -> (StreamError -> GErrorMessage -> IO a) -> IO a
- handleStreamError :: (StreamError -> GErrorMessage -> IO a) -> IO a -> IO a
- data StreamStatusType
- data StructureChangeType
- data TagFlag
- data TagMergeMode
- data TagScope
- data TaskState
- data TocEntryType
- data TocLoopType
- data TocScope
- data TracerValueScope
- data TypeFindProbability
- data URIError
- catchURIError :: IO a -> (URIError -> GErrorMessage -> IO a) -> IO a
- handleURIError :: (URIError -> GErrorMessage -> IO a) -> IO a -> IO a
- data URIType
Enumerations
BufferingMode
data BufferingMode Source #
The different types of buffering methods.
BufferingModeStream | a small amount of data is buffered |
BufferingModeDownload | the stream is being downloaded |
BufferingModeTimeshift | the stream is being downloaded in a ringbuffer |
BufferingModeLive | the stream is a live stream |
AnotherBufferingMode Int | Catch-all for unknown values |
Instances
BusSyncReply
data BusSyncReply Source #
The result values for a GstBusSyncHandler.
BusSyncReplyDrop | drop the message |
BusSyncReplyPass | pass the message to the async queue |
BusSyncReplyAsync | pass message to async queue, continue if message is handled |
AnotherBusSyncReply Int | Catch-all for unknown values |
Instances
CapsIntersectMode
data CapsIntersectMode Source #
Modes of caps intersection
gSTCAPSINTERSECTZIGZAG
tries to preserve overall order of both caps
by iterating on the caps' structures as the following matrix shows:
>
> caps1
> +-------------
> | 1 2 4 7
>caps2 | 3 5 8 10
> | 6 9 11 12
Used when there is no explicit precedence of one caps over the other. e.g. tee's sink pad getcaps function, it will probe its src pad peers' for their caps and intersect them with this mode.
gSTCAPSINTERSECTFIRST
is useful when an element wants to preserve
another element's caps priority order when intersecting with its own caps.
Example: If caps1 is [A, B, C] and caps2 is [E, B, D, A], the result
would be [A, B], maintaining the first caps priority on the intersection.
CapsIntersectModeZigZag | Zig-zags over both caps. |
CapsIntersectModeFirst | Keeps the first caps order. |
AnotherCapsIntersectMode Int | Catch-all for unknown values |
Instances
ClockEntryType
data ClockEntryType Source #
The type of the clock entry
ClockEntryTypeSingle | a single shot timeout |
ClockEntryTypePeriodic | a periodic timeout request |
AnotherClockEntryType Int | Catch-all for unknown values |
Instances
ClockReturn
data ClockReturn Source #
The return value of a clock operation.
ClockReturnOk | The operation succeeded. |
ClockReturnEarly | The operation was scheduled too late. |
ClockReturnUnscheduled | The clockID was unscheduled |
ClockReturnBusy | The ClockID is busy |
ClockReturnBadtime | A bad time was provided to a function. |
ClockReturnError | An error occurred |
ClockReturnUnsupported | Operation is not supported |
ClockReturnDone | The ClockID is done waiting |
AnotherClockReturn Int | Catch-all for unknown values |
Instances
ClockType
The different kind of clocks.
ClockTypeRealtime | time since Epoch |
ClockTypeMonotonic | monotonic time since some unspecified starting point |
ClockTypeOther | some other time source is used (Since 1.0.5) |
AnotherClockType Int | Catch-all for unknown values |
Instances
Enum ClockType Source # | |
Defined in GI.Gst.Enums succ :: ClockType -> ClockType # pred :: ClockType -> ClockType # fromEnum :: ClockType -> Int # enumFrom :: ClockType -> [ClockType] # enumFromThen :: ClockType -> ClockType -> [ClockType] # enumFromTo :: ClockType -> ClockType -> [ClockType] # enumFromThenTo :: ClockType -> ClockType -> ClockType -> [ClockType] # | |
Eq ClockType Source # | |
Ord ClockType Source # | |
Defined in GI.Gst.Enums | |
Show ClockType Source # | |
BoxedEnum ClockType Source # | |
Defined in GI.Gst.Enums boxedEnumType :: ClockType -> IO GType # |
CoreError
Core errors are errors inside the core GStreamer library.
CoreErrorFailed | a general error which doesn't fit in any other category. Make sure you add a custom message to the error call. |
CoreErrorTooLazy | do not use this except as a placeholder for deciding where to go while developing code. |
CoreErrorNotImplemented | use this when you do not want to implement this functionality yet. |
CoreErrorStateChange | used for state change errors. |
CoreErrorPad | used for pad-related errors. |
CoreErrorThread | used for thread-related errors. |
CoreErrorNegotiation | used for negotiation-related errors. |
CoreErrorEvent | used for event-related errors. |
CoreErrorSeek | used for seek-related errors. |
CoreErrorCaps | used for caps-related errors. |
CoreErrorTag | used for negotiation-related errors. |
CoreErrorMissingPlugin | used if a plugin is missing. |
CoreErrorClock | used for clock related errors. |
CoreErrorDisabled | used if functionality has been disabled at compile time. |
CoreErrorNumErrors | the number of core error types. |
AnotherCoreError Int | Catch-all for unknown values |
Instances
Enum CoreError Source # | |
Defined in GI.Gst.Enums succ :: CoreError -> CoreError # pred :: CoreError -> CoreError # fromEnum :: CoreError -> Int # enumFrom :: CoreError -> [CoreError] # enumFromThen :: CoreError -> CoreError -> [CoreError] # enumFromTo :: CoreError -> CoreError -> [CoreError] # enumFromThenTo :: CoreError -> CoreError -> CoreError -> [CoreError] # | |
Eq CoreError Source # | |
Ord CoreError Source # | |
Defined in GI.Gst.Enums | |
Show CoreError Source # | |
BoxedEnum CoreError Source # | |
Defined in GI.Gst.Enums boxedEnumType :: CoreError -> IO GType # | |
GErrorClass CoreError Source # | |
Defined in GI.Gst.Enums gerrorClassDomain :: CoreError -> Text # |
catchCoreError :: IO a -> (CoreError -> GErrorMessage -> IO a) -> IO a Source #
Catch exceptions of type CoreError
. This is a specialized version of catchGErrorJustDomain
.
handleCoreError :: (CoreError -> GErrorMessage -> IO a) -> IO a -> IO a Source #
Handle exceptions of type CoreError
. This is a specialized version of handleGErrorJustDomain
.
DebugColorMode
data DebugColorMode Source #
No description available in the introspection data.
DebugColorModeOff | Do not use colors in logs. |
DebugColorModeOn | Paint logs in a platform-specific way. |
DebugColorModeUnix | Paint logs with UNIX terminal color codes no matter what platform GStreamer is running on. |
AnotherDebugColorMode Int | Catch-all for unknown values |
Instances
DebugLevel
data DebugLevel Source #
The level defines the importance of a debugging message. The more important a message is, the greater the probability that the debugging system outputs it.
DebugLevelNone | No debugging level specified or desired. Used to deactivate debugging output. |
DebugLevelError | Error messages are to be used only when an error occurred that stops the application from keeping working correctly. An examples is gst_element_error, which outputs a message with this priority. It does not mean that the application is terminating as with g_error. |
DebugLevelWarning | Warning messages are to inform about abnormal behaviour that could lead to problems or weird behaviour later on. An example of this would be clocking issues ("your computer is pretty slow") or broken input data ("Can't synchronize to stream.") |
DebugLevelFixme | Fixme messages are messages that indicate that something in the executed code path is not fully implemented or handled yet. Note that this does not replace proper error handling in any way, the purpose of this message is to make it easier to spot incomplete/unfinished pieces of code when reading the debug log. |
DebugLevelInfo | Informational messages should be used to keep the developer updated about what is happening. Examples where this should be used are when a typefind function has successfully determined the type of the stream or when an mp3 plugin detects the format to be used. ("This file has mono sound.") |
DebugLevelDebug | Debugging messages should be used when something common happens that is not the expected default behavior, or something that's useful to know but doesn't happen all the time (ie. per loop iteration or buffer processed or event handled). An example would be notifications about state changes or receiving/sending of events. |
DebugLevelLog | Log messages are messages that are very common but might be useful to know. As a rule of thumb a pipeline that is running as expected should never output anything else but LOG messages whilst processing data. Use this log level to log recurring information in chain functions and loop functions, for example. |
DebugLevelTrace | Tracing-related messages. Examples for this are referencing/dereferencing of objects. |
DebugLevelMemdump | memory dump messages are used to log (small) chunks of data as memory dumps in the log. They will be displayed as hexdump with ASCII characters. |
DebugLevelCount | The number of defined debugging levels. |
AnotherDebugLevel Int | Catch-all for unknown values |
Instances
EventType
EventType
lists the standard event types that can be sent in a pipeline.
The custom event types can be used for private messages between elements
that can't be expressed using normal
GStreamer buffer passing semantics. Custom events carry an arbitrary
Structure
.
Specific custom events are distinguished by the name of the structure.
EventTypeUnknown | unknown event. |
EventTypeFlushStart | Start a flush operation. This event clears all data from the pipeline and unblock all streaming threads. |
EventTypeFlushStop | Stop a flush operation. This event resets the running-time of the pipeline. |
EventTypeStreamStart | Event to mark the start of a new stream. Sent before any other serialized event and only sent at the start of a new stream, not after flushing seeks. |
EventTypeCaps |
|
EventTypeSegment | A new media segment follows in the dataflow. The segment events contains information for clipping buffers and converting buffer timestamps to running-time and stream-time. |
EventTypeStreamCollection | A new |
EventTypeTag | A new set of metadata tags has been found in the stream. |
EventTypeBuffersize | Notification of buffering requirements. Currently not used yet. |
EventTypeSinkMessage | An event that sinks turn into a message. Used to send messages that should be emitted in sync with rendering. |
EventTypeStreamGroupDone | Indicates that there is no more data for the stream group ID in the message. Sent before EOS in some instances and should be handled mostly the same. (Since 1.10) |
EventTypeEos | End-Of-Stream. No more data is to be expected to follow without either a STREAM_START event, or a FLUSH_STOP and a SEGMENT event. |
EventTypeToc | An event which indicates that a new table of contents (TOC) was found or updated. |
EventTypeProtection | An event which indicates that new or updated encryption information has been found in the stream. |
EventTypeSegmentDone | Marks the end of a segment playback. |
EventTypeGap | Marks a gap in the datastream. |
EventTypeQos | A quality message. Used to indicate to upstream elements that the downstream elements should adjust their processing rate. |
EventTypeSeek | A request for a new playback position and rate. |
EventTypeNavigation | Navigation events are usually used for communicating user requests, such as mouse or keyboard movements, to upstream elements. |
EventTypeLatency | Notification of new latency adjustment. Sinks will use the latency information to adjust their synchronisation. |
EventTypeStep | A request for stepping through the media. Sinks will usually execute the step operation. |
EventTypeReconfigure | A request for upstream renegotiating caps and reconfiguring. |
EventTypeTocSelect | A request for a new playback position based on TOC entry's UID. |
EventTypeSelectStreams | A request to select one or more streams (Since 1.10) |
EventTypeCustomUpstream | Upstream custom event |
EventTypeCustomDownstream | Downstream custom event that travels in the data flow. |
EventTypeCustomDownstreamOob | Custom out-of-band downstream event. |
EventTypeCustomDownstreamSticky | Custom sticky downstream event. |
EventTypeCustomBoth | Custom upstream or downstream event. In-band when travelling downstream. |
EventTypeCustomBothOob | Custom upstream or downstream out-of-band event. |
AnotherEventType Int | Catch-all for unknown values |
Instances
Enum EventType Source # | |
Defined in GI.Gst.Enums succ :: EventType -> EventType # pred :: EventType -> EventType # fromEnum :: EventType -> Int # enumFrom :: EventType -> [EventType] # enumFromThen :: EventType -> EventType -> [EventType] # enumFromTo :: EventType -> EventType -> [EventType] # enumFromThenTo :: EventType -> EventType -> EventType -> [EventType] # | |
Eq EventType Source # | |
Ord EventType Source # | |
Defined in GI.Gst.Enums | |
Show EventType Source # | |
BoxedEnum EventType Source # | |
Defined in GI.Gst.Enums boxedEnumType :: EventType -> IO GType # |
FlowReturn
data FlowReturn Source #
The result of passing data to a pad.
Note that the custom return values should not be exposed outside of the element scope.
FlowReturnCustomSuccess2 | Pre-defined custom success code. |
FlowReturnCustomSuccess1 | Pre-defined custom success code (define your custom success code to this to avoid compiler warnings). |
FlowReturnCustomSuccess | Elements can use values starting from this (and higher) to define custom success codes. |
FlowReturnOk | Data passing was ok. |
FlowReturnNotLinked | Pad is not linked. |
FlowReturnFlushing | Pad is flushing. |
FlowReturnEos | Pad is EOS. |
FlowReturnNotNegotiated | Pad is not negotiated. |
FlowReturnError | Some (fatal) error occurred. Element generating this error should post an error message with more details. |
FlowReturnNotSupported | This operation is not supported. |
FlowReturnCustomError | Elements can use values starting from this (and lower) to define custom error codes. |
FlowReturnCustomError1 | Pre-defined custom error code (define your custom error code to this to avoid compiler warnings). |
FlowReturnCustomError2 | Pre-defined custom error code. |
AnotherFlowReturn Int | Catch-all for unknown values |
Instances
Format
Standard predefined formats
FormatUndefined | undefined format |
FormatDefault | the default format of the pad/element. This can be
samples for raw audio, frames/fields for raw video (some, but not all,
elements support this; use |
FormatBytes | bytes |
FormatTime | time in nanoseconds |
FormatBuffers | buffers (few, if any, elements implement this as of May 2009) |
FormatPercent | percentage of stream (few, if any, elements implement this as of May 2009) |
AnotherFormat Int | Catch-all for unknown values |
IteratorItem
data IteratorItem Source #
The result of a IteratorItemFunction
.
IteratorItemSkip | Skip this item |
IteratorItemPass | Return item |
IteratorItemEnd | Stop after this item. |
AnotherIteratorItem Int | Catch-all for unknown values |
Instances
IteratorResult
data IteratorResult Source #
The result of iteratorNext
.
IteratorResultDone | No more items in the iterator |
IteratorResultOk | An item was retrieved |
IteratorResultResync | Datastructure changed while iterating |
IteratorResultError | An error happened |
AnotherIteratorResult Int | Catch-all for unknown values |
Instances
LibraryError
data LibraryError Source #
Library errors are for errors from the library being used by elements (initializing, finalizing, settings, ...)
LibraryErrorFailed | a general error which doesn't fit in any other category. Make sure you add a custom message to the error call. |
LibraryErrorTooLazy | do not use this except as a placeholder for deciding where to go while developing code. |
LibraryErrorInit | used when the library could not be opened. |
LibraryErrorShutdown | used when the library could not be closed. |
LibraryErrorSettings | used when the library doesn't accept settings. |
LibraryErrorEncode | used when the library generated an encoding error. |
LibraryErrorNumErrors | the number of library error types. |
AnotherLibraryError Int | Catch-all for unknown values |
Instances
catchLibraryError :: IO a -> (LibraryError -> GErrorMessage -> IO a) -> IO a Source #
Catch exceptions of type LibraryError
. This is a specialized version of catchGErrorJustDomain
.
handleLibraryError :: (LibraryError -> GErrorMessage -> IO a) -> IO a -> IO a Source #
Handle exceptions of type LibraryError
. This is a specialized version of handleGErrorJustDomain
.
PadDirection
data PadDirection Source #
The direction of a pad.
PadDirectionUnknown | direction is unknown. |
PadDirectionSrc | the pad is a source pad. |
PadDirectionSink | the pad is a sink pad. |
AnotherPadDirection Int | Catch-all for unknown values |
Instances
PadLinkReturn
data PadLinkReturn Source #
Result values from gst_pad_link and friends.
PadLinkReturnOk | link succeeded |
PadLinkReturnWrongHierarchy | pads have no common grandparent |
PadLinkReturnWasLinked | pad was already linked |
PadLinkReturnWrongDirection | pads have wrong direction |
PadLinkReturnNoformat | pads do not have common format |
PadLinkReturnNosched | pads cannot cooperate in scheduling |
PadLinkReturnRefused | refused for some reason |
AnotherPadLinkReturn Int | Catch-all for unknown values |
Instances
PadMode
The status of a GstPad. After activating a pad, which usually happens when the parent element goes from READY to PAUSED, the GstPadMode defines if the pad operates in push or pull mode.
PadModeNone | Pad will not handle dataflow |
PadModePush | Pad handles dataflow in downstream push mode |
PadModePull | Pad handles dataflow in upstream pull mode |
AnotherPadMode Int | Catch-all for unknown values |
Instances
Enum PadMode Source # | |
Eq PadMode Source # | |
Ord PadMode Source # | |
Show PadMode Source # | |
BoxedEnum PadMode Source # | |
Defined in GI.Gst.Enums boxedEnumType :: PadMode -> IO GType # |
PadPresence
data PadPresence Source #
Indicates when this pad will become available.
PadPresenceAlways | the pad is always available |
PadPresenceSometimes | the pad will become available depending on the media stream |
PadPresenceRequest | the pad is only available on request with
|
AnotherPadPresence Int | Catch-all for unknown values |
Instances
PadProbeReturn
data PadProbeReturn Source #
Different return values for the PadProbeCallback
.
PadProbeReturnDrop | drop data in data probes. For push mode this means that
the data item is not sent downstream. For pull mode, it means that
the data item is not passed upstream. In both cases, no other probes
are called for this item and |
PadProbeReturnOk | normal probe return value. This leaves the probe in place, and defers decisions about dropping or passing data to other probes, if any. If there are no other probes, the default behaviour for the probe type applies ('block' for blocking probes, and 'pass' for non-blocking probes). |
PadProbeReturnRemove | remove this probe. |
PadProbeReturnPass | pass the data item in the block probe and block on the next item. |
PadProbeReturnHandled | Data has been handled in the probe and will not be
forwarded further. For events and buffers this is the same behaviour as
|
AnotherPadProbeReturn Int | Catch-all for unknown values |
Instances
ParseError
data ParseError Source #
The different parsing errors that can occur.
ParseErrorSyntax | A syntax error occurred. |
ParseErrorNoSuchElement | The description contained an unknown element |
ParseErrorNoSuchProperty | An element did not have a specified property |
ParseErrorLink | There was an error linking two pads. |
ParseErrorCouldNotSetProperty | There was an error setting a property |
ParseErrorEmptyBin | An empty bin was specified. |
ParseErrorEmpty | An empty description was specified |
ParseErrorDelayedLink | A delayed link did not get resolved. |
AnotherParseError Int | Catch-all for unknown values |
Instances
catchParseError :: IO a -> (ParseError -> GErrorMessage -> IO a) -> IO a Source #
Catch exceptions of type ParseError
. This is a specialized version of catchGErrorJustDomain
.
handleParseError :: (ParseError -> GErrorMessage -> IO a) -> IO a -> IO a Source #
Handle exceptions of type ParseError
. This is a specialized version of handleGErrorJustDomain
.
PluginError
data PluginError Source #
The plugin loading errors
PluginErrorModule | The plugin could not be loaded |
PluginErrorDependencies | The plugin has unresolved dependencies |
PluginErrorNameMismatch | The plugin has already be loaded from a different file |
AnotherPluginError Int | Catch-all for unknown values |
Instances
catchPluginError :: IO a -> (PluginError -> GErrorMessage -> IO a) -> IO a Source #
Catch exceptions of type PluginError
. This is a specialized version of catchGErrorJustDomain
.
handlePluginError :: (PluginError -> GErrorMessage -> IO a) -> IO a -> IO a Source #
Handle exceptions of type PluginError
. This is a specialized version of handleGErrorJustDomain
.
ProgressType
data ProgressType Source #
The type of a MessageTypeProgress
. The progress messages inform the
application of the status of asynchronous tasks.
ProgressTypeStart | A new task started. |
ProgressTypeContinue | A task completed and a new one continues. |
ProgressTypeComplete | A task completed. |
ProgressTypeCanceled | A task was canceled. |
ProgressTypeError | A task caused an error. An error message is also posted on the bus. |
AnotherProgressType Int | Catch-all for unknown values |
Instances
PromiseResult
data PromiseResult Source #
The result of a Promise
Since: 1.14
PromiseResultPending | Initial state. Waiting for transition to any other state. |
PromiseResultInterrupted | Interrupted by the consumer as it doesn't want the value anymore. |
PromiseResultReplied | A producer marked a reply |
PromiseResultExpired | The promise expired (the carrying object lost all refs) and the promise will never be fulfilled. |
AnotherPromiseResult Int | Catch-all for unknown values |
Instances
QOSType
The different types of QoS events that can be given to the
eventNewQos
method.
QOSTypeOverflow | The QoS event type that is produced when upstream elements are producing data too quickly and the element can't keep up processing the data. Upstream should reduce their production rate. This type is also used when buffers arrive early or in time. |
QOSTypeUnderflow | The QoS event type that is produced when upstream elements are producing data too slowly and need to speed up their production rate. |
QOSTypeThrottle | The QoS event type that is produced when the application enabled throttling to limit the data rate. |
AnotherQOSType Int | Catch-all for unknown values |
Instances
Enum QOSType Source # | |
Eq QOSType Source # | |
Ord QOSType Source # | |
Show QOSType Source # | |
BoxedEnum QOSType Source # | |
Defined in GI.Gst.Enums boxedEnumType :: QOSType -> IO GType # |
QueryType
Standard predefined Query types
QueryTypeUnknown | unknown query type |
QueryTypePosition | current position in stream |
QueryTypeDuration | total duration of the stream |
QueryTypeLatency | latency of stream |
QueryTypeJitter | current jitter of stream |
QueryTypeRate | current rate of the stream |
QueryTypeSeeking | seeking capabilities |
QueryTypeSegment | segment start/stop positions |
QueryTypeConvert | convert values between formats |
QueryTypeFormats | query supported formats for convert |
QueryTypeBuffering | query available media for efficient seeking. |
QueryTypeCustom | a custom application or element defined query. |
QueryTypeUri | query the URI of the source or sink. |
QueryTypeAllocation | the buffer allocation properties |
QueryTypeScheduling | the scheduling properties |
QueryTypeAcceptCaps | the accept caps query |
QueryTypeCaps | the caps query |
QueryTypeDrain | wait till all serialized data is consumed downstream |
QueryTypeContext | query the pipeline-local context from downstream or upstream (since 1.2) |
QueryTypeBitrate | the bitrate query (since 1.16) |
AnotherQueryType Int | Catch-all for unknown values |
Instances
Enum QueryType Source # | |
Defined in GI.Gst.Enums succ :: QueryType -> QueryType # pred :: QueryType -> QueryType # fromEnum :: QueryType -> Int # enumFrom :: QueryType -> [QueryType] # enumFromThen :: QueryType -> QueryType -> [QueryType] # enumFromTo :: QueryType -> QueryType -> [QueryType] # enumFromThenTo :: QueryType -> QueryType -> QueryType -> [QueryType] # | |
Eq QueryType Source # | |
Ord QueryType Source # | |
Defined in GI.Gst.Enums | |
Show QueryType Source # | |
BoxedEnum QueryType Source # | |
Defined in GI.Gst.Enums boxedEnumType :: QueryType -> IO GType # |
Rank
Element priority ranks. Defines the order in which the autoplugger (or
similar rank-picking mechanisms, such as e.g. elementMakeFromUri
)
will choose this element over an alternative one with the same function.
These constants serve as a rough guidance for defining the rank of a
PluginFeature
. Any value is valid, including values bigger than
gSTRANKPRIMARY
.
RankNone | will be chosen last or not at all |
RankMarginal | unlikely to be chosen |
RankSecondary | likely to be chosen |
RankPrimary | will be chosen first |
AnotherRank Int | Catch-all for unknown values |
ResourceError
data ResourceError Source #
Resource errors are for any resource used by an element: memory, files, network connections, process space, ... They're typically used by source and sink elements.
ResourceErrorFailed | a general error which doesn't fit in any other category. Make sure you add a custom message to the error call. |
ResourceErrorTooLazy | do not use this except as a placeholder for deciding where to go while developing code. |
ResourceErrorNotFound | used when the resource could not be found. |
ResourceErrorBusy | used when resource is busy. |
ResourceErrorOpenRead | used when resource fails to open for reading. |
ResourceErrorOpenWrite | used when resource fails to open for writing. |
ResourceErrorOpenReadWrite | used when resource cannot be opened for both reading and writing, or either (but unspecified which). |
ResourceErrorClose | used when the resource can't be closed. |
ResourceErrorRead | used when the resource can't be read from. |
ResourceErrorWrite | used when the resource can't be written to. |
ResourceErrorSeek | used when a seek on the resource fails. |
ResourceErrorSync | used when a synchronize on the resource fails. |
ResourceErrorSettings | used when settings can't be manipulated on. |
ResourceErrorNoSpaceLeft | used when the resource has no space left. |
ResourceErrorNotAuthorized | used when the resource can't be opened due to missing authorization. (Since 1.2.4) |
ResourceErrorNumErrors | the number of resource error types. |
AnotherResourceError Int | Catch-all for unknown values |
Instances
catchResourceError :: IO a -> (ResourceError -> GErrorMessage -> IO a) -> IO a Source #
Catch exceptions of type ResourceError
. This is a specialized version of catchGErrorJustDomain
.
handleResourceError :: (ResourceError -> GErrorMessage -> IO a) -> IO a -> IO a Source #
Handle exceptions of type ResourceError
. This is a specialized version of handleGErrorJustDomain
.
SearchMode
data SearchMode Source #
The different search modes.
SearchModeExact | Only search for exact matches. |
SearchModeBefore | Search for an exact match or the element just before. |
SearchModeAfter | Search for an exact match or the element just after. |
AnotherSearchMode Int | Catch-all for unknown values |
Instances
SeekType
The different types of seek events. When constructing a seek event with
eventNewSeek
or when doing gst_segment_do_seek ().
SeekTypeNone | no change in position is required |
SeekTypeSet | absolute position is requested |
SeekTypeEnd | relative position to duration is requested |
AnotherSeekType Int | Catch-all for unknown values |
Instances
Enum SeekType Source # | |
Eq SeekType Source # | |
Ord SeekType Source # | |
Defined in GI.Gst.Enums | |
Show SeekType Source # | |
BoxedEnum SeekType Source # | |
Defined in GI.Gst.Enums boxedEnumType :: SeekType -> IO GType # |
State
The possible states an element can be in. States can be changed using
elementSetState
and checked using elementGetState
.
StateVoidPending | no pending state. |
StateNull | the NULL state or initial state of an element. |
StateReady | the element is ready to go to PAUSED. |
StatePaused | the element is PAUSED, it is ready to accept and process data. Sink elements however only accept one buffer and then block. |
StatePlaying | the element is PLAYING, the |
AnotherState Int | Catch-all for unknown values |
StateChange
data StateChange Source #
These are the different state changes an element goes through.
StateNull
⇒ StatePlaying
is called an upwards state change
and StatePlaying
⇒ StateNull
a downwards state change.
StateChangeNullToReady | state change from NULL to READY. * The element must check if the resources it needs are available. Device sinks and -sources typically try to probe the device to constrain their caps. * The element opens the device (in case feature need to be probed). |
StateChangeReadyToPaused | state change from READY to PAUSED.
* The element pads are activated in order to receive data in PAUSED.
Streaming threads are started.
* Some elements might need to return |
StateChangePausedToPlaying | state change from PAUSED to PLAYING.
* Most elements ignore this state change.
* The pipeline selects a |
StateChangePlayingToPaused | state change from PLAYING to PAUSED.
* Most elements ignore this state change.
* The pipeline calculates the running_time based on the last selected
|
StateChangePausedToReady | state change from PAUSED to READY.
* Sinks unblock any waits in the preroll.
* Elements unblock any waits on devices
* Chain or get_range functions return |
StateChangeReadyToNull | state change from READY to NULL. * Elements close devices * Elements reset any internal state. |
StateChangeNullToNull | state change from NULL to NULL. (Since 1.14) |
StateChangeReadyToReady | state change from READY to READY, This might happen when going to PAUSED asynchronously failed, in that case elements should make sure they are in a proper, coherent READY state. (Since 1.14) |
StateChangePausedToPaused | state change from PAUSED to PAUSED. This might happen when elements were in PLAYING state and 'lost state', they should make sure to go back to real 'PAUSED' state (prerolling for example). (Since 1.14) |
StateChangePlayingToPlaying | state change from PLAYING to PLAYING. (Since 1.14) |
AnotherStateChange Int | Catch-all for unknown values |
Instances
StateChangeReturn
data StateChangeReturn Source #
The possible return values from a state change function such as
elementSetState
. Only gSTSTATECHANGEFAILURE
is a real failure.
StateChangeReturnFailure | the state change failed |
StateChangeReturnSuccess | the state change succeeded |
StateChangeReturnAsync | the state change will happen asynchronously |
StateChangeReturnNoPreroll | the state change succeeded but the element
cannot produce data in |
AnotherStateChangeReturn Int | Catch-all for unknown values |
Instances
StreamError
data StreamError Source #
Stream errors are for anything related to the stream being processed: format errors, media type errors, ... They're typically used by decoders, demuxers, converters, ...
StreamErrorFailed | a general error which doesn't fit in any other category. Make sure you add a custom message to the error call. |
StreamErrorTooLazy | do not use this except as a placeholder for deciding where to go while developing code. |
StreamErrorNotImplemented | use this when you do not want to implement this functionality yet. |
StreamErrorTypeNotFound | used when the element doesn't know the stream's type. |
StreamErrorWrongType | used when the element doesn't handle this type of stream. |
StreamErrorCodecNotFound | used when there's no codec to handle the stream's type. |
StreamErrorDecode | used when decoding fails. |
StreamErrorEncode | used when encoding fails. |
StreamErrorDemux | used when demuxing fails. |
StreamErrorMux | used when muxing fails. |
StreamErrorFormat | used when the stream is of the wrong format (for example, wrong caps). |
StreamErrorDecrypt | used when the stream is encrypted and can't be decrypted because this is not supported by the element. |
StreamErrorDecryptNokey | used when the stream is encrypted and can't be decrypted because no suitable key is available. |
StreamErrorNumErrors | the number of stream error types. |
AnotherStreamError Int | Catch-all for unknown values |
Instances
catchStreamError :: IO a -> (StreamError -> GErrorMessage -> IO a) -> IO a Source #
Catch exceptions of type StreamError
. This is a specialized version of catchGErrorJustDomain
.
handleStreamError :: (StreamError -> GErrorMessage -> IO a) -> IO a -> IO a Source #
Handle exceptions of type StreamError
. This is a specialized version of handleGErrorJustDomain
.
StreamStatusType
data StreamStatusType Source #
The type of a MessageTypeStreamStatus
. The stream status messages inform the
application of new streaming threads and their status.
StreamStatusTypeCreate | A new thread need to be created. |
StreamStatusTypeEnter | a thread entered its loop function |
StreamStatusTypeLeave | a thread left its loop function |
StreamStatusTypeDestroy | a thread is destroyed |
StreamStatusTypeStart | a thread is started |
StreamStatusTypePause | a thread is paused |
StreamStatusTypeStop | a thread is stopped |
AnotherStreamStatusType Int | Catch-all for unknown values |
Instances
StructureChangeType
data StructureChangeType Source #
The type of a MessageTypeStructureChange
.
StructureChangeTypeLink | Pad linking is starting or done. |
StructureChangeTypeUnlink | Pad unlinking is starting or done. |
AnotherStructureChangeType Int | Catch-all for unknown values |
Instances
TagFlag
Extra tag flags used when registering tags.
TagFlagUndefined | undefined flag |
TagFlagMeta | tag is meta data |
TagFlagEncoded | tag is encoded |
TagFlagDecoded | tag is decoded |
TagFlagCount | number of tag flags |
AnotherTagFlag Int | Catch-all for unknown values |
Instances
Enum TagFlag Source # | |
Eq TagFlag Source # | |
Ord TagFlag Source # | |
Show TagFlag Source # | |
BoxedEnum TagFlag Source # | |
Defined in GI.Gst.Enums boxedEnumType :: TagFlag -> IO GType # |
TagMergeMode
data TagMergeMode Source #
The different tag merging modes are basically replace, overwrite and append,
but they can be seen from two directions. Given two taglists: (A) the tags
already in the element and (B) the ones that are supplied to the element (
e.g. via tagSetterMergeTags
/ gst_tag_setter_add_tags()
or a
EventTypeTag
), how are these tags merged?
In the table below this is shown for the cases that a tag exists in the list
(A) or does not exists (!A) and combinations thereof.
<table frame="all" colsep="1" rowsep="1"> <title>merge mode</title> <tgroup cols='5' align='left'> <thead> <row> <entry>merge mode</entry> <entry>A + B</entry> <entry>A + !B</entry> <entry>!A + B</entry> <entry>!A + !B</entry> </row> </thead> <tbody> <row> <entry>REPLACE_ALL</entry> <entry>B</entry> <entry>-</entry> <entry>B</entry> <entry>-</entry> </row> <row> <entry>REPLACE</entry> <entry>B</entry> <entry>A</entry> <entry>B</entry> <entry>-</entry> </row> <row> <entry>APPEND</entry> <entry>A, B</entry> <entry>A</entry> <entry>B</entry> <entry>-</entry> </row> <row> <entry>PREPEND</entry> <entry>B, A</entry> <entry>A</entry> <entry>B</entry> <entry>-</entry> </row> <row> <entry>KEEP</entry> <entry>A</entry> <entry>A</entry> <entry>B</entry> <entry>-</entry> </row> <row> <entry>KEEP_ALL</entry> <entry>A</entry> <entry>A</entry> <entry>-</entry> <entry>-</entry> </row> </tbody> </tgroup> </table>
TagMergeModeUndefined | undefined merge mode |
TagMergeModeReplaceAll | replace all tags (clear list and append) |
TagMergeModeReplace | replace tags |
TagMergeModeAppend | append tags |
TagMergeModePrepend | prepend tags |
TagMergeModeKeep | keep existing tags |
TagMergeModeKeepAll | keep all existing tags |
TagMergeModeCount | the number of merge modes |
AnotherTagMergeMode Int | Catch-all for unknown values |
Instances
TagScope
GstTagScope specifies if a taglist applies to the complete medium or only to one single stream.
TagScopeStream | tags specific to this single stream |
TagScopeGlobal | global tags for the complete medium |
AnotherTagScope Int | Catch-all for unknown values |
Instances
Enum TagScope Source # | |
Eq TagScope Source # | |
Ord TagScope Source # | |
Defined in GI.Gst.Enums | |
Show TagScope Source # | |
BoxedEnum TagScope Source # | |
Defined in GI.Gst.Enums boxedEnumType :: TagScope -> IO GType # |
TaskState
The different states a task can be in
TaskStateStarted | the task is started and running |
TaskStateStopped | the task is stopped |
TaskStatePaused | the task is paused |
AnotherTaskState Int | Catch-all for unknown values |
Instances
Enum TaskState Source # | |
Defined in GI.Gst.Enums succ :: TaskState -> TaskState # pred :: TaskState -> TaskState # fromEnum :: TaskState -> Int # enumFrom :: TaskState -> [TaskState] # enumFromThen :: TaskState -> TaskState -> [TaskState] # enumFromTo :: TaskState -> TaskState -> [TaskState] # enumFromThenTo :: TaskState -> TaskState -> TaskState -> [TaskState] # | |
Eq TaskState Source # | |
Ord TaskState Source # | |
Defined in GI.Gst.Enums | |
Show TaskState Source # | |
BoxedEnum TaskState Source # | |
Defined in GI.Gst.Enums boxedEnumType :: TaskState -> IO GType # |
TocEntryType
data TocEntryType Source #
The different types of TOC entries (see TocEntry
).
There are two types of TOC entries: alternatives or parts in a sequence.
TocEntryTypeAngle | entry is an angle (i.e. an alternative) |
TocEntryTypeVersion | entry is a version (i.e. alternative) |
TocEntryTypeEdition | entry is an edition (i.e. alternative) |
TocEntryTypeInvalid | invalid entry type value |
TocEntryTypeTitle | entry is a title (i.e. a part of a sequence) |
TocEntryTypeTrack | entry is a track (i.e. a part of a sequence) |
TocEntryTypeChapter | entry is a chapter (i.e. a part of a sequence) |
AnotherTocEntryType Int | Catch-all for unknown values |
Instances
TocLoopType
data TocLoopType Source #
How a TocEntry
should be repeated. By default, entries are played a
single time.
Since: 1.4
TocLoopTypeNone | single forward playback |
TocLoopTypeForward | repeat forward |
TocLoopTypeReverse | repeat backward |
TocLoopTypePingPong | repeat forward and backward |
AnotherTocLoopType Int | Catch-all for unknown values |
Instances
TocScope
The scope of a TOC.
TocScopeGlobal | global TOC representing all selectable options (this is what applications are usually interested in) |
TocScopeCurrent | TOC for the currently active/selected stream (this is a TOC representing the current stream from start to EOS, and is what a TOC writer / muxer is usually interested in; it will usually be a subset of the global TOC, e.g. just the chapters of the current title, or the chapters selected for playback from the current title) |
AnotherTocScope Int | Catch-all for unknown values |
Instances
Enum TocScope Source # | |
Eq TocScope Source # | |
Ord TocScope Source # | |
Defined in GI.Gst.Enums | |
Show TocScope Source # | |
BoxedEnum TocScope Source # | |
Defined in GI.Gst.Enums boxedEnumType :: TocScope -> IO GType # |
TracerValueScope
data TracerValueScope Source #
Tracing record will contain fields that contain a measured value or extra
meta-data. One such meta data are values that tell where a measurement was
taken. This enumerating declares to which scope such a meta data field
relates to. If it is e.g. TracerValueScopePad
, then each of the log
events may contain values for different GstPads
.
Since: 1.8
TracerValueScopeProcess | the value is related to the process |
TracerValueScopeThread | the value is related to a thread |
TracerValueScopeElement | the value is related to an |
TracerValueScopePad | the value is related to a |
AnotherTracerValueScope Int | Catch-all for unknown values |
Instances
TypeFindProbability
data TypeFindProbability Source #
The probability of the typefind function. Higher values have more certainty in doing a reliable typefind.
TypeFindProbabilityNone | type undetected. |
TypeFindProbabilityMinimum | unlikely typefind. |
TypeFindProbabilityPossible | possible type detected. |
TypeFindProbabilityLikely | likely a type was detected. |
TypeFindProbabilityNearlyCertain | nearly certain that a type was detected. |
TypeFindProbabilityMaximum | very certain a type was detected. |
AnotherTypeFindProbability Int | Catch-all for unknown values |
Instances
URIError
Different URI-related errors that can occur.
URIErrorUnsupportedProtocol | The protocol is not supported |
URIErrorBadUri | There was a problem with the URI |
URIErrorBadState | Could not set or change the URI because the URI handler was in a state where that is not possible or not permitted |
URIErrorBadReference | There was a problem with the entity that the URI references |
AnotherURIError Int | Catch-all for unknown values |
Instances
Enum URIError Source # | |
Eq URIError Source # | |
Ord URIError Source # | |
Defined in GI.Gst.Enums | |
Show URIError Source # | |
BoxedEnum URIError Source # | |
Defined in GI.Gst.Enums boxedEnumType :: URIError -> IO GType # | |
GErrorClass URIError Source # | |
Defined in GI.Gst.Enums gerrorClassDomain :: URIError -> Text # |
catchURIError :: IO a -> (URIError -> GErrorMessage -> IO a) -> IO a Source #
Catch exceptions of type URIError
. This is a specialized version of catchGErrorJustDomain
.
handleURIError :: (URIError -> GErrorMessage -> IO a) -> IO a -> IO a Source #
Handle exceptions of type URIError
. This is a specialized version of handleGErrorJustDomain
.
URIType
The different types of URI direction.
URITypeUnknown | The URI direction is unknown |
URITypeSink | The URI is a consumer. |
URITypeSrc | The URI is a producer. |
AnotherURIType Int | Catch-all for unknown values |
Instances
Enum URIType Source # | |
Eq URIType Source # | |
Ord URIType Source # | |
Show URIType Source # | |
BoxedEnum URIType Source # | |
Defined in GI.Gst.Enums boxedEnumType :: URIType -> IO GType # |