gi-gst-1.0.18: GStreamer bindings

CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (inaki@blueleaf.cc)
Safe HaskellNone
LanguageHaskell2010

GI.Gst.Enums

Contents

Description

 
Synopsis

Enumerations

BufferingMode

data BufferingMode Source #

The different types of buffering methods.

Constructors

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

BusSyncReply

data BusSyncReply Source #

The result values for a GstBusSyncHandler.

Constructors

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

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.

Constructors

CapsIntersectModeZigZag

Zig-zags over both caps.

CapsIntersectModeFirst

Keeps the first caps order.

AnotherCapsIntersectMode Int

Catch-all for unknown values

Instances
Enum CapsIntersectMode Source # 
Instance details

Defined in GI.Gst.Enums

Eq CapsIntersectMode Source # 
Instance details

Defined in GI.Gst.Enums

Ord CapsIntersectMode Source # 
Instance details

Defined in GI.Gst.Enums

Show CapsIntersectMode Source # 
Instance details

Defined in GI.Gst.Enums

BoxedEnum CapsIntersectMode Source # 
Instance details

Defined in GI.Gst.Enums

ClockEntryType

data ClockEntryType Source #

The type of the clock entry

Constructors

ClockEntryTypeSingle

a single shot timeout

ClockEntryTypePeriodic

a periodic timeout request

AnotherClockEntryType Int

Catch-all for unknown values

ClockReturn

data ClockReturn Source #

The return value of a clock operation.

Constructors

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

ClockType

data ClockType Source #

The different kind of clocks.

Constructors

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

CoreError

data CoreError Source #

Core errors are errors inside the core GStreamer library.

Constructors

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

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.

Constructors

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

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.

Constructors

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

EventType

data EventType Source #

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.

Constructors

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

Caps event. Notify the pad of a new media type.

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 StreamCollection is available (Since 1.10)

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

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.

Constructors

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

Format

data Format Source #

Standard predefined formats

Constructors

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 gSTFORMATTIME if you don't have a good reason to query for samples/frames)

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

Instances
Enum Format Source # 
Instance details

Defined in GI.Gst.Enums

Eq Format Source # 
Instance details

Defined in GI.Gst.Enums

Methods

(==) :: Format -> Format -> Bool #

(/=) :: Format -> Format -> Bool #

Ord Format Source # 
Instance details

Defined in GI.Gst.Enums

Show Format Source # 
Instance details

Defined in GI.Gst.Enums

BoxedEnum Format Source # 
Instance details

Defined in GI.Gst.Enums

IteratorItem

data IteratorItem Source #

The result of a IteratorItemFunction.

Constructors

IteratorItemSkip

Skip this item

IteratorItemPass

Return item

IteratorItemEnd

Stop after this item.

AnotherIteratorItem Int

Catch-all for unknown values

IteratorResult

data IteratorResult Source #

The result of iteratorNext.

Constructors

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

LibraryError

data LibraryError Source #

Library errors are for errors from the library being used by elements (initializing, finalizing, settings, ...)

Constructors

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

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.

Constructors

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

PadLinkReturn

data PadLinkReturn Source #

Result values from gst_pad_link and friends.

Constructors

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

PadMode

data PadMode Source #

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.

Constructors

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 # 
Instance details

Defined in GI.Gst.Enums

Eq PadMode Source # 
Instance details

Defined in GI.Gst.Enums

Methods

(==) :: PadMode -> PadMode -> Bool #

(/=) :: PadMode -> PadMode -> Bool #

Ord PadMode Source # 
Instance details

Defined in GI.Gst.Enums

Show PadMode Source # 
Instance details

Defined in GI.Gst.Enums

BoxedEnum PadMode Source # 
Instance details

Defined in GI.Gst.Enums

PadPresence

data PadPresence Source #

Indicates when this pad will become available.

Constructors

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 elementRequestPad.

AnotherPadPresence Int

Catch-all for unknown values

PadProbeReturn

data PadProbeReturn Source #

Different return values for the PadProbeCallback.

Constructors

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 FlowReturnOk or True is returned to the caller.

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 PadProbeReturnDrop (except that in this case you need to unref the buffer or event yourself). For queries it will also return True to the caller. The probe can also modify the FlowReturn value by using the GST_PAD_PROBE_INFO_FLOW_RETURN() accessor. Note that the resulting query must contain valid entries. Since: 1.6

AnotherPadProbeReturn Int

Catch-all for unknown values

ParseError

data ParseError Source #

The different parsing errors that can occur.

Constructors

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

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

Constructors

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

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.

Constructors

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

PromiseResult

data PromiseResult Source #

The result of a Promise

Since: 1.14

Constructors

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

QOSType

data QOSType Source #

The different types of QoS events that can be given to the eventNewQos method.

Constructors

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 # 
Instance details

Defined in GI.Gst.Enums

Eq QOSType Source # 
Instance details

Defined in GI.Gst.Enums

Methods

(==) :: QOSType -> QOSType -> Bool #

(/=) :: QOSType -> QOSType -> Bool #

Ord QOSType Source # 
Instance details

Defined in GI.Gst.Enums

Show QOSType Source # 
Instance details

Defined in GI.Gst.Enums

BoxedEnum QOSType Source # 
Instance details

Defined in GI.Gst.Enums

QueryType

data QueryType Source #

Standard predefined Query types

Constructors

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

Rank

data Rank Source #

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.

Constructors

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

Instances
Enum Rank Source # 
Instance details

Defined in GI.Gst.Enums

Methods

succ :: Rank -> Rank #

pred :: Rank -> Rank #

toEnum :: Int -> Rank #

fromEnum :: Rank -> Int #

enumFrom :: Rank -> [Rank] #

enumFromThen :: Rank -> Rank -> [Rank] #

enumFromTo :: Rank -> Rank -> [Rank] #

enumFromThenTo :: Rank -> Rank -> Rank -> [Rank] #

Eq Rank Source # 
Instance details

Defined in GI.Gst.Enums

Methods

(==) :: Rank -> Rank -> Bool #

(/=) :: Rank -> Rank -> Bool #

Ord Rank Source # 
Instance details

Defined in GI.Gst.Enums

Methods

compare :: Rank -> Rank -> Ordering #

(<) :: Rank -> Rank -> Bool #

(<=) :: Rank -> Rank -> Bool #

(>) :: Rank -> Rank -> Bool #

(>=) :: Rank -> Rank -> Bool #

max :: Rank -> Rank -> Rank #

min :: Rank -> Rank -> Rank #

Show Rank Source # 
Instance details

Defined in GI.Gst.Enums

Methods

showsPrec :: Int -> Rank -> ShowS #

show :: Rank -> String #

showList :: [Rank] -> ShowS #

BoxedEnum Rank Source # 
Instance details

Defined in GI.Gst.Enums

Methods

boxedEnumType :: Rank -> IO GType #

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.

Constructors

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
Enum ResourceError Source # 
Instance details

Defined in GI.Gst.Enums

Eq ResourceError Source # 
Instance details

Defined in GI.Gst.Enums

Ord ResourceError Source # 
Instance details

Defined in GI.Gst.Enums

Show ResourceError Source # 
Instance details

Defined in GI.Gst.Enums

BoxedEnum ResourceError Source # 
Instance details

Defined in GI.Gst.Enums

GErrorClass ResourceError Source # 
Instance details

Defined in GI.Gst.Enums

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.

Constructors

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

SeekType

data SeekType Source #

The different types of seek events. When constructing a seek event with eventNewSeek or when doing gst_segment_do_seek ().

Constructors

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

State

data State Source #

The possible states an element can be in. States can be changed using elementSetState and checked using elementGetState.

Constructors

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 Clock is running and the data is flowing.

AnotherState Int

Catch-all for unknown values

Instances
Enum State Source # 
Instance details

Defined in GI.Gst.Enums

Eq State Source # 
Instance details

Defined in GI.Gst.Enums

Methods

(==) :: State -> State -> Bool #

(/=) :: State -> State -> Bool #

Ord State Source # 
Instance details

Defined in GI.Gst.Enums

Methods

compare :: State -> State -> Ordering #

(<) :: State -> State -> Bool #

(<=) :: State -> State -> Bool #

(>) :: State -> State -> Bool #

(>=) :: State -> State -> Bool #

max :: State -> State -> State #

min :: State -> State -> State #

Show State Source # 
Instance details

Defined in GI.Gst.Enums

Methods

showsPrec :: Int -> State -> ShowS #

show :: State -> String #

showList :: [State] -> ShowS #

BoxedEnum State Source # 
Instance details

Defined in GI.Gst.Enums

StateChange

data StateChange Source #

These are the different state changes an element goes through. StateNull &rArr; StatePlaying is called an upwards state change and StatePlaying &rArr; StateNull a downwards state change.

Constructors

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 StateChangeReturnAsync and complete the state change when they have enough information. It is a requirement for sinks to return StateChangeReturnAsync and complete the state change when they receive the first buffer or EventTypeEos (preroll). Sinks also block the dataflow when in PAUSED. * A pipeline resets the running_time to 0. * Live sources return StateChangeReturnNoPreroll and don't generate data.

StateChangePausedToPlaying

state change from PAUSED to PLAYING. * Most elements ignore this state change. * The pipeline selects a Clock and distributes this to all the children before setting them to PLAYING. This means that it is only allowed to synchronize on the Clock in the PLAYING state. * The pipeline uses the Clock and the running_time to calculate the base_time. The base_time is distributed to all children when performing the state change. * Sink elements stop blocking on the preroll buffer or event and start rendering the data. * Sinks can post MessageTypeEos in the PLAYING state. It is not allowed to post MessageTypeEos when not in the PLAYING state. * While streaming in PAUSED or PLAYING elements can create and remove sometimes pads. * Live sources start generating data and return StateChangeReturnSuccess.

StateChangePlayingToPaused

state change from PLAYING to PAUSED. * Most elements ignore this state change. * The pipeline calculates the running_time based on the last selected Clock and the base_time. It stores this information to continue playback when going back to the PLAYING state. * Sinks unblock any Clock wait calls. * When a sink does not have a pending buffer to play, it returns GST_STATE_CHANGE_ASYNC from this state change and completes the state change when it receives a new buffer or an EventTypeEos. * Any queued MessageTypeEos items are removed since they will be reposted when going back to the PLAYING state. The EOS messages are queued in Bin containers. * Live sources stop generating data and return StateChangeReturnNoPreroll.

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 FlowReturnFlushing. * The element pads are deactivated so that streaming becomes impossible and all streaming threads are stopped. * The sink forgets all negotiated formats * Elements remove all sometimes pads

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

StateChangeReturn

data StateChangeReturn Source #

The possible return values from a state change function such as elementSetState. Only gSTSTATECHANGEFAILURE is a real failure.

Constructors

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 StatePaused. This typically happens with live sources.

AnotherStateChangeReturn Int

Catch-all for unknown values

Instances
Enum StateChangeReturn Source # 
Instance details

Defined in GI.Gst.Enums

Eq StateChangeReturn Source # 
Instance details

Defined in GI.Gst.Enums

Ord StateChangeReturn Source # 
Instance details

Defined in GI.Gst.Enums

Show StateChangeReturn Source # 
Instance details

Defined in GI.Gst.Enums

BoxedEnum StateChangeReturn Source # 
Instance details

Defined in GI.Gst.Enums

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, ...

Constructors

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

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.

Constructors

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
Enum StreamStatusType Source # 
Instance details

Defined in GI.Gst.Enums

Eq StreamStatusType Source # 
Instance details

Defined in GI.Gst.Enums

Ord StreamStatusType Source # 
Instance details

Defined in GI.Gst.Enums

Show StreamStatusType Source # 
Instance details

Defined in GI.Gst.Enums

BoxedEnum StreamStatusType Source # 
Instance details

Defined in GI.Gst.Enums

StructureChangeType

data StructureChangeType Source #

Constructors

StructureChangeTypeLink

Pad linking is starting or done.

StructureChangeTypeUnlink

Pad unlinking is starting or done.

AnotherStructureChangeType Int

Catch-all for unknown values

Instances
Enum StructureChangeType Source # 
Instance details

Defined in GI.Gst.Enums

Eq StructureChangeType Source # 
Instance details

Defined in GI.Gst.Enums

Ord StructureChangeType Source # 
Instance details

Defined in GI.Gst.Enums

Show StructureChangeType Source # 
Instance details

Defined in GI.Gst.Enums

BoxedEnum StructureChangeType Source # 
Instance details

Defined in GI.Gst.Enums

TagFlag

data TagFlag Source #

Extra tag flags used when registering tags.

Constructors

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 # 
Instance details

Defined in GI.Gst.Enums

Eq TagFlag Source # 
Instance details

Defined in GI.Gst.Enums

Methods

(==) :: TagFlag -> TagFlag -> Bool #

(/=) :: TagFlag -> TagFlag -> Bool #

Ord TagFlag Source # 
Instance details

Defined in GI.Gst.Enums

Show TagFlag Source # 
Instance details

Defined in GI.Gst.Enums

BoxedEnum TagFlag Source # 
Instance details

Defined in GI.Gst.Enums

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>

Constructors

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

TagScope

data TagScope Source #

GstTagScope specifies if a taglist applies to the complete medium or only to one single stream.

Constructors

TagScopeStream

tags specific to this single stream

TagScopeGlobal

global tags for the complete medium

AnotherTagScope Int

Catch-all for unknown values

TaskState

data TaskState Source #

The different states a task can be in

Constructors

TaskStateStarted

the task is started and running

TaskStateStopped

the task is stopped

TaskStatePaused

the task is paused

AnotherTaskState Int

Catch-all for unknown values

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.

Constructors

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

TocLoopType

data TocLoopType Source #

How a TocEntry should be repeated. By default, entries are played a single time.

Since: 1.4

Constructors

TocLoopTypeNone

single forward playback

TocLoopTypeForward

repeat forward

TocLoopTypeReverse

repeat backward

TocLoopTypePingPong

repeat forward and backward

AnotherTocLoopType Int

Catch-all for unknown values

TocScope

data TocScope Source #

The scope of a TOC.

Constructors

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

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

Constructors

TracerValueScopeProcess

the value is related to the process

TracerValueScopeThread

the value is related to a thread

TracerValueScopeElement

the value is related to an Element

TracerValueScopePad

the value is related to a Pad

AnotherTracerValueScope Int

Catch-all for unknown values

Instances
Enum TracerValueScope Source # 
Instance details

Defined in GI.Gst.Enums

Eq TracerValueScope Source # 
Instance details

Defined in GI.Gst.Enums

Ord TracerValueScope Source # 
Instance details

Defined in GI.Gst.Enums

Show TracerValueScope Source # 
Instance details

Defined in GI.Gst.Enums

BoxedEnum TracerValueScope Source # 
Instance details

Defined in GI.Gst.Enums

TypeFindProbability

data TypeFindProbability Source #

The probability of the typefind function. Higher values have more certainty in doing a reliable typefind.

Constructors

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
Enum TypeFindProbability Source # 
Instance details

Defined in GI.Gst.Enums

Eq TypeFindProbability Source # 
Instance details

Defined in GI.Gst.Enums

Ord TypeFindProbability Source # 
Instance details

Defined in GI.Gst.Enums

Show TypeFindProbability Source # 
Instance details

Defined in GI.Gst.Enums

BoxedEnum TypeFindProbability Source # 
Instance details

Defined in GI.Gst.Enums

URIError

data URIError Source #

Different URI-related errors that can occur.

Constructors

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

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

data URIType Source #

The different types of URI direction.

Constructors

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 # 
Instance details

Defined in GI.Gst.Enums

Eq URIType Source # 
Instance details

Defined in GI.Gst.Enums

Methods

(==) :: URIType -> URIType -> Bool #

(/=) :: URIType -> URIType -> Bool #

Ord URIType Source # 
Instance details

Defined in GI.Gst.Enums

Show URIType Source # 
Instance details

Defined in GI.Gst.Enums

BoxedEnum URIType Source # 
Instance details

Defined in GI.Gst.Enums