gi-gst-0.1.6.13: GI/Gst/Structs/Event.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
The event class provides factory methods to construct events for sending
and functions to query (parse) received events.
Events are usually created with gst_event_new_*() which takes event-type
specific parameters as arguments.
To send an event application will usually use gst_element_send_event() and
elements will use gst_pad_send_event() or gst_pad_push_event().
The event should be unreffed with gst_event_unref() if it has not been sent.
Events that have been received can be parsed with their respective
gst_event_parse_*() functions. It is valid to pass %NULL for unwanted details.
Events are passed between elements in parallel to the data stream. Some events
are serialized with buffers, others are not. Some events only travel downstream,
others only upstream. Some events can travel both upstream and downstream.
The events are used to signal special conditions in the datastream such as
EOS (end of stream) or the start of a new stream-segment.
Events are also used to flush the pipeline of any pending data.
Most of the event API is used inside plugins. Applications usually only
construct and use seek events.
To do that gst_event_new_seek() is used to create a seek event. It takes
the needed parameters to specify seeking time and mode.
|[
GstEvent *event;
gboolean result;
...
// construct a seek event to play the media from second 2 to 5, flush
// the pipeline to decrease latency.
event = gst_event_new_seek (1.0,
GST_FORMAT_TIME,
GST_SEEK_FLAG_FLUSH,
GST_SEEK_TYPE_SET, 2 * GST_SECOND,
GST_SEEK_TYPE_SET, 5 * GST_SECOND);
...
result = gst_element_send_event (pipeline, event);
if (!result)
g_warning ("seek failed");
...
]|
-}
module GI.Gst.Structs.Event
(
-- * Exported types
Event(..) ,
newZeroEvent ,
noEvent ,
-- * Methods
-- ** eventCopySegment
EventCopySegmentMethodInfo ,
eventCopySegment ,
-- ** eventGetRunningTimeOffset
EventGetRunningTimeOffsetMethodInfo ,
eventGetRunningTimeOffset ,
-- ** eventGetSeqnum
EventGetSeqnumMethodInfo ,
eventGetSeqnum ,
-- ** eventGetStructure
EventGetStructureMethodInfo ,
eventGetStructure ,
-- ** eventHasName
EventHasNameMethodInfo ,
eventHasName ,
-- ** eventNewBufferSize
eventNewBufferSize ,
-- ** eventNewCaps
eventNewCaps ,
-- ** eventNewCustom
eventNewCustom ,
-- ** eventNewEos
eventNewEos ,
-- ** eventNewFlushStart
eventNewFlushStart ,
-- ** eventNewFlushStop
eventNewFlushStop ,
-- ** eventNewGap
eventNewGap ,
-- ** eventNewLatency
eventNewLatency ,
-- ** eventNewNavigation
eventNewNavigation ,
-- ** eventNewProtection
eventNewProtection ,
-- ** eventNewQos
eventNewQos ,
-- ** eventNewReconfigure
eventNewReconfigure ,
-- ** eventNewSeek
eventNewSeek ,
-- ** eventNewSegment
eventNewSegment ,
-- ** eventNewSegmentDone
eventNewSegmentDone ,
-- ** eventNewSinkMessage
eventNewSinkMessage ,
-- ** eventNewStep
eventNewStep ,
-- ** eventNewStreamStart
eventNewStreamStart ,
-- ** eventNewTag
eventNewTag ,
-- ** eventNewToc
eventNewToc ,
-- ** eventNewTocSelect
eventNewTocSelect ,
-- ** eventParseBufferSize
EventParseBufferSizeMethodInfo ,
eventParseBufferSize ,
-- ** eventParseCaps
EventParseCapsMethodInfo ,
eventParseCaps ,
-- ** eventParseFlushStop
EventParseFlushStopMethodInfo ,
eventParseFlushStop ,
-- ** eventParseGap
EventParseGapMethodInfo ,
eventParseGap ,
-- ** eventParseGroupId
EventParseGroupIdMethodInfo ,
eventParseGroupId ,
-- ** eventParseLatency
EventParseLatencyMethodInfo ,
eventParseLatency ,
-- ** eventParseProtection
EventParseProtectionMethodInfo ,
eventParseProtection ,
-- ** eventParseQos
EventParseQosMethodInfo ,
eventParseQos ,
-- ** eventParseSeek
EventParseSeekMethodInfo ,
eventParseSeek ,
-- ** eventParseSegment
EventParseSegmentMethodInfo ,
eventParseSegment ,
-- ** eventParseSegmentDone
EventParseSegmentDoneMethodInfo ,
eventParseSegmentDone ,
-- ** eventParseSinkMessage
EventParseSinkMessageMethodInfo ,
eventParseSinkMessage ,
-- ** eventParseStep
EventParseStepMethodInfo ,
eventParseStep ,
-- ** eventParseStreamFlags
EventParseStreamFlagsMethodInfo ,
eventParseStreamFlags ,
-- ** eventParseStreamStart
EventParseStreamStartMethodInfo ,
eventParseStreamStart ,
-- ** eventParseTag
EventParseTagMethodInfo ,
eventParseTag ,
-- ** eventParseToc
EventParseTocMethodInfo ,
eventParseToc ,
-- ** eventParseTocSelect
EventParseTocSelectMethodInfo ,
eventParseTocSelect ,
-- ** eventSetGroupId
EventSetGroupIdMethodInfo ,
eventSetGroupId ,
-- ** eventSetRunningTimeOffset
EventSetRunningTimeOffsetMethodInfo ,
eventSetRunningTimeOffset ,
-- ** eventSetSeqnum
EventSetSeqnumMethodInfo ,
eventSetSeqnum ,
-- ** eventSetStreamFlags
EventSetStreamFlagsMethodInfo ,
eventSetStreamFlags ,
-- ** eventWritableStructure
EventWritableStructureMethodInfo ,
eventWritableStructure ,
-- * Properties
-- ** MiniObject
eventReadMiniObject ,
-- ** Seqnum
eventReadSeqnum ,
-- ** Timestamp
eventReadTimestamp ,
-- ** Type
eventReadType ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gst.Types
import GI.Gst.Callbacks
newtype Event = Event (ForeignPtr Event)
foreign import ccall "gst_event_get_type" c_gst_event_get_type ::
IO GType
instance BoxedObject Event where
boxedType _ = c_gst_event_get_type
-- | Construct a `Event` struct initialized to zero.
newZeroEvent :: MonadIO m => m Event
newZeroEvent = liftIO $ callocBoxedBytes 88 >>= wrapBoxed Event
noEvent :: Maybe Event
noEvent = Nothing
eventReadMiniObject :: Event -> IO MiniObject
eventReadMiniObject s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO (Ptr MiniObject)
val' <- (newPtr 64 MiniObject) val
return val'
eventReadType :: Event -> IO EventType
eventReadType s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 64) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
eventReadTimestamp :: Event -> IO Word64
eventReadTimestamp s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 72) :: IO Word64
return val
eventReadSeqnum :: Event -> IO Word32
eventReadSeqnum s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 80) :: IO Word32
return val
-- method Event::new_buffer_size
-- method type : Constructor
-- Args : [Arg {argCName = "format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minsize", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maxsize", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "async", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_buffer_size" gst_event_new_buffer_size ::
CUInt -> -- format : TInterface "Gst" "Format"
Int64 -> -- minsize : TBasicType TInt64
Int64 -> -- maxsize : TBasicType TInt64
CInt -> -- async : TBasicType TBoolean
IO (Ptr Event)
eventNewBufferSize ::
(MonadIO m) =>
Format -- format
-> Int64 -- minsize
-> Int64 -- maxsize
-> Bool -- async
-> m Event -- result
eventNewBufferSize format minsize maxsize async = liftIO $ do
let format' = (fromIntegral . fromEnum) format
let async' = (fromIntegral . fromEnum) async
result <- gst_event_new_buffer_size format' minsize maxsize async'
checkUnexpectedReturnNULL "gst_event_new_buffer_size" result
result' <- (wrapBoxed Event) result
return result'
-- method Event::new_caps
-- method type : Constructor
-- Args : [Arg {argCName = "caps", argType = TInterface "Gst" "Caps", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_caps" gst_event_new_caps ::
Ptr Caps -> -- caps : TInterface "Gst" "Caps"
IO (Ptr Event)
eventNewCaps ::
(MonadIO m) =>
Caps -- caps
-> m Event -- result
eventNewCaps caps = liftIO $ do
let caps' = unsafeManagedPtrGetPtr caps
result <- gst_event_new_caps caps'
checkUnexpectedReturnNULL "gst_event_new_caps" result
result' <- (wrapBoxed Event) result
touchManagedPtr caps
return result'
-- method Event::new_custom
-- method type : Constructor
-- Args : [Arg {argCName = "type", argType = TInterface "Gst" "EventType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface "Gst" "Structure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_custom" gst_event_new_custom ::
CUInt -> -- type : TInterface "Gst" "EventType"
Ptr Structure -> -- structure : TInterface "Gst" "Structure"
IO (Ptr Event)
eventNewCustom ::
(MonadIO m) =>
EventType -- type_
-> Structure -- structure
-> m Event -- result
eventNewCustom type_ structure = liftIO $ do
let type_' = (fromIntegral . fromEnum) type_
structure' <- copyBoxed structure
result <- gst_event_new_custom type_' structure'
checkUnexpectedReturnNULL "gst_event_new_custom" result
result' <- (wrapBoxed Event) result
touchManagedPtr structure
return result'
-- method Event::new_eos
-- method type : Constructor
-- Args : []
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_eos" gst_event_new_eos ::
IO (Ptr Event)
eventNewEos ::
(MonadIO m) =>
m Event -- result
eventNewEos = liftIO $ do
result <- gst_event_new_eos
checkUnexpectedReturnNULL "gst_event_new_eos" result
result' <- (wrapBoxed Event) result
return result'
-- method Event::new_flush_start
-- method type : Constructor
-- Args : []
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_flush_start" gst_event_new_flush_start ::
IO (Ptr Event)
eventNewFlushStart ::
(MonadIO m) =>
m Event -- result
eventNewFlushStart = liftIO $ do
result <- gst_event_new_flush_start
checkUnexpectedReturnNULL "gst_event_new_flush_start" result
result' <- (wrapBoxed Event) result
return result'
-- method Event::new_flush_stop
-- method type : Constructor
-- Args : [Arg {argCName = "reset_time", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_flush_stop" gst_event_new_flush_stop ::
CInt -> -- reset_time : TBasicType TBoolean
IO (Ptr Event)
eventNewFlushStop ::
(MonadIO m) =>
Bool -- resetTime
-> m Event -- result
eventNewFlushStop resetTime = liftIO $ do
let resetTime' = (fromIntegral . fromEnum) resetTime
result <- gst_event_new_flush_stop resetTime'
checkUnexpectedReturnNULL "gst_event_new_flush_stop" result
result' <- (wrapBoxed Event) result
return result'
-- method Event::new_gap
-- method type : Constructor
-- Args : [Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "duration", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_gap" gst_event_new_gap ::
Word64 -> -- timestamp : TBasicType TUInt64
Word64 -> -- duration : TBasicType TUInt64
IO (Ptr Event)
eventNewGap ::
(MonadIO m) =>
Word64 -- timestamp
-> Word64 -- duration
-> m Event -- result
eventNewGap timestamp duration = liftIO $ do
result <- gst_event_new_gap timestamp duration
checkUnexpectedReturnNULL "gst_event_new_gap" result
result' <- (wrapBoxed Event) result
return result'
-- method Event::new_latency
-- method type : Constructor
-- Args : [Arg {argCName = "latency", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_latency" gst_event_new_latency ::
Word64 -> -- latency : TBasicType TUInt64
IO (Ptr Event)
eventNewLatency ::
(MonadIO m) =>
Word64 -- latency
-> m Event -- result
eventNewLatency latency = liftIO $ do
result <- gst_event_new_latency latency
checkUnexpectedReturnNULL "gst_event_new_latency" result
result' <- (wrapBoxed Event) result
return result'
-- method Event::new_navigation
-- method type : Constructor
-- Args : [Arg {argCName = "structure", argType = TInterface "Gst" "Structure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_navigation" gst_event_new_navigation ::
Ptr Structure -> -- structure : TInterface "Gst" "Structure"
IO (Ptr Event)
eventNewNavigation ::
(MonadIO m) =>
Structure -- structure
-> m Event -- result
eventNewNavigation structure = liftIO $ do
structure' <- copyBoxed structure
result <- gst_event_new_navigation structure'
checkUnexpectedReturnNULL "gst_event_new_navigation" result
result' <- (wrapBoxed Event) result
touchManagedPtr structure
return result'
-- method Event::new_protection
-- method type : Constructor
-- Args : [Arg {argCName = "system_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface "Gst" "Buffer", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_protection" gst_event_new_protection ::
CString -> -- system_id : TBasicType TUTF8
Ptr Buffer -> -- data : TInterface "Gst" "Buffer"
CString -> -- origin : TBasicType TUTF8
IO (Ptr Event)
eventNewProtection ::
(MonadIO m) =>
T.Text -- systemId
-> Buffer -- data_
-> T.Text -- origin
-> m Event -- result
eventNewProtection systemId data_ origin = liftIO $ do
systemId' <- textToCString systemId
let data_' = unsafeManagedPtrGetPtr data_
origin' <- textToCString origin
result <- gst_event_new_protection systemId' data_' origin'
checkUnexpectedReturnNULL "gst_event_new_protection" result
result' <- (wrapBoxed Event) result
touchManagedPtr data_
freeMem systemId'
freeMem origin'
return result'
-- method Event::new_qos
-- method type : Constructor
-- Args : [Arg {argCName = "type", argType = TInterface "Gst" "QOSType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "proportion", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "diff", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_qos" gst_event_new_qos ::
CUInt -> -- type : TInterface "Gst" "QOSType"
CDouble -> -- proportion : TBasicType TDouble
Int64 -> -- diff : TBasicType TInt64
Word64 -> -- timestamp : TBasicType TUInt64
IO (Ptr Event)
eventNewQos ::
(MonadIO m) =>
QOSType -- type_
-> Double -- proportion
-> Int64 -- diff
-> Word64 -- timestamp
-> m Event -- result
eventNewQos type_ proportion diff timestamp = liftIO $ do
let type_' = (fromIntegral . fromEnum) type_
let proportion' = realToFrac proportion
result <- gst_event_new_qos type_' proportion' diff timestamp
checkUnexpectedReturnNULL "gst_event_new_qos" result
result' <- (wrapBoxed Event) result
return result'
-- method Event::new_reconfigure
-- method type : Constructor
-- Args : []
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_reconfigure" gst_event_new_reconfigure ::
IO (Ptr Event)
eventNewReconfigure ::
(MonadIO m) =>
m Event -- result
eventNewReconfigure = liftIO $ do
result <- gst_event_new_reconfigure
checkUnexpectedReturnNULL "gst_event_new_reconfigure" result
result' <- (wrapBoxed Event) result
return result'
-- method Event::new_seek
-- method type : Constructor
-- Args : [Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "Gst" "SeekFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_type", argType = TInterface "Gst" "SeekType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stop_type", argType = TInterface "Gst" "SeekType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stop", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_seek" gst_event_new_seek ::
CDouble -> -- rate : TBasicType TDouble
CUInt -> -- format : TInterface "Gst" "Format"
CUInt -> -- flags : TInterface "Gst" "SeekFlags"
CUInt -> -- start_type : TInterface "Gst" "SeekType"
Int64 -> -- start : TBasicType TInt64
CUInt -> -- stop_type : TInterface "Gst" "SeekType"
Int64 -> -- stop : TBasicType TInt64
IO (Ptr Event)
eventNewSeek ::
(MonadIO m) =>
Double -- rate
-> Format -- format
-> [SeekFlags] -- flags
-> SeekType -- startType
-> Int64 -- start
-> SeekType -- stopType
-> Int64 -- stop
-> m Event -- result
eventNewSeek rate format flags startType start stopType stop = liftIO $ do
let rate' = realToFrac rate
let format' = (fromIntegral . fromEnum) format
let flags' = gflagsToWord flags
let startType' = (fromIntegral . fromEnum) startType
let stopType' = (fromIntegral . fromEnum) stopType
result <- gst_event_new_seek rate' format' flags' startType' start stopType' stop
checkUnexpectedReturnNULL "gst_event_new_seek" result
result' <- (wrapBoxed Event) result
return result'
-- method Event::new_segment
-- method type : Constructor
-- Args : [Arg {argCName = "segment", argType = TInterface "Gst" "Segment", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_segment" gst_event_new_segment ::
Ptr Segment -> -- segment : TInterface "Gst" "Segment"
IO (Ptr Event)
eventNewSegment ::
(MonadIO m) =>
Segment -- segment
-> m Event -- result
eventNewSegment segment = liftIO $ do
let segment' = unsafeManagedPtrGetPtr segment
result <- gst_event_new_segment segment'
checkUnexpectedReturnNULL "gst_event_new_segment" result
result' <- (wrapBoxed Event) result
touchManagedPtr segment
return result'
-- method Event::new_segment_done
-- method type : Constructor
-- Args : [Arg {argCName = "format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_segment_done" gst_event_new_segment_done ::
CUInt -> -- format : TInterface "Gst" "Format"
Int64 -> -- position : TBasicType TInt64
IO (Ptr Event)
eventNewSegmentDone ::
(MonadIO m) =>
Format -- format
-> Int64 -- position
-> m Event -- result
eventNewSegmentDone format position = liftIO $ do
let format' = (fromIntegral . fromEnum) format
result <- gst_event_new_segment_done format' position
checkUnexpectedReturnNULL "gst_event_new_segment_done" result
result' <- (wrapBoxed Event) result
return result'
-- method Event::new_sink_message
-- method type : Constructor
-- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Gst" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_sink_message" gst_event_new_sink_message ::
CString -> -- name : TBasicType TUTF8
Ptr Message -> -- msg : TInterface "Gst" "Message"
IO (Ptr Event)
eventNewSinkMessage ::
(MonadIO m) =>
T.Text -- name
-> Message -- msg
-> m Event -- result
eventNewSinkMessage name msg = liftIO $ do
name' <- textToCString name
let msg' = unsafeManagedPtrGetPtr msg
result <- gst_event_new_sink_message name' msg'
checkUnexpectedReturnNULL "gst_event_new_sink_message" result
result' <- (wrapBoxed Event) result
touchManagedPtr msg
freeMem name'
return result'
-- method Event::new_step
-- method type : Constructor
-- Args : [Arg {argCName = "format", argType = TInterface "Gst" "Format", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "amount", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flush", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "intermediate", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_step" gst_event_new_step ::
CUInt -> -- format : TInterface "Gst" "Format"
Word64 -> -- amount : TBasicType TUInt64
CDouble -> -- rate : TBasicType TDouble
CInt -> -- flush : TBasicType TBoolean
CInt -> -- intermediate : TBasicType TBoolean
IO (Ptr Event)
eventNewStep ::
(MonadIO m) =>
Format -- format
-> Word64 -- amount
-> Double -- rate
-> Bool -- flush
-> Bool -- intermediate
-> m Event -- result
eventNewStep format amount rate flush intermediate = liftIO $ do
let format' = (fromIntegral . fromEnum) format
let rate' = realToFrac rate
let flush' = (fromIntegral . fromEnum) flush
let intermediate' = (fromIntegral . fromEnum) intermediate
result <- gst_event_new_step format' amount rate' flush' intermediate'
checkUnexpectedReturnNULL "gst_event_new_step" result
result' <- (wrapBoxed Event) result
return result'
-- method Event::new_stream_start
-- method type : Constructor
-- Args : [Arg {argCName = "stream_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_stream_start" gst_event_new_stream_start ::
CString -> -- stream_id : TBasicType TUTF8
IO (Ptr Event)
eventNewStreamStart ::
(MonadIO m) =>
T.Text -- streamId
-> m Event -- result
eventNewStreamStart streamId = liftIO $ do
streamId' <- textToCString streamId
result <- gst_event_new_stream_start streamId'
checkUnexpectedReturnNULL "gst_event_new_stream_start" result
result' <- (wrapBoxed Event) result
freeMem streamId'
return result'
-- method Event::new_tag
-- method type : Constructor
-- Args : [Arg {argCName = "taglist", argType = TInterface "Gst" "TagList", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_tag" gst_event_new_tag ::
Ptr TagList -> -- taglist : TInterface "Gst" "TagList"
IO (Ptr Event)
eventNewTag ::
(MonadIO m) =>
TagList -- taglist
-> m Event -- result
eventNewTag taglist = liftIO $ do
taglist' <- copyBoxed taglist
result <- gst_event_new_tag taglist'
checkUnexpectedReturnNULL "gst_event_new_tag" result
result' <- (wrapBoxed Event) result
touchManagedPtr taglist
return result'
-- method Event::new_toc
-- method type : Constructor
-- Args : [Arg {argCName = "toc", argType = TInterface "Gst" "Toc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "updated", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_toc" gst_event_new_toc ::
Ptr Toc -> -- toc : TInterface "Gst" "Toc"
CInt -> -- updated : TBasicType TBoolean
IO (Ptr Event)
eventNewToc ::
(MonadIO m) =>
Toc -- toc
-> Bool -- updated
-> m Event -- result
eventNewToc toc updated = liftIO $ do
let toc' = unsafeManagedPtrGetPtr toc
let updated' = (fromIntegral . fromEnum) updated
result <- gst_event_new_toc toc' updated'
checkUnexpectedReturnNULL "gst_event_new_toc" result
result' <- (wrapBoxed Event) result
touchManagedPtr toc
return result'
-- method Event::new_toc_select
-- method type : Constructor
-- Args : [Arg {argCName = "uid", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Event"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_new_toc_select" gst_event_new_toc_select ::
CString -> -- uid : TBasicType TUTF8
IO (Ptr Event)
eventNewTocSelect ::
(MonadIO m) =>
T.Text -- uid
-> m Event -- result
eventNewTocSelect uid = liftIO $ do
uid' <- textToCString uid
result <- gst_event_new_toc_select uid'
checkUnexpectedReturnNULL "gst_event_new_toc_select" result
result' <- (wrapBoxed Event) result
freeMem uid'
return result'
-- method Event::copy_segment
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "segment", argType = TInterface "Gst" "Segment", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_copy_segment" gst_event_copy_segment ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr Segment -> -- segment : TInterface "Gst" "Segment"
IO ()
eventCopySegment ::
(MonadIO m) =>
Event -- _obj
-> Segment -- segment
-> m () -- result
eventCopySegment _obj segment = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let segment' = unsafeManagedPtrGetPtr segment
gst_event_copy_segment _obj' segment'
touchManagedPtr _obj
touchManagedPtr segment
return ()
data EventCopySegmentMethodInfo
instance (signature ~ (Segment -> m ()), MonadIO m) => MethodInfo EventCopySegmentMethodInfo Event signature where
overloadedMethod _ = eventCopySegment
-- method Event::get_running_time_offset
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_get_running_time_offset" gst_event_get_running_time_offset ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
IO Int64
eventGetRunningTimeOffset ::
(MonadIO m) =>
Event -- _obj
-> m Int64 -- result
eventGetRunningTimeOffset _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- gst_event_get_running_time_offset _obj'
touchManagedPtr _obj
return result
data EventGetRunningTimeOffsetMethodInfo
instance (signature ~ (m Int64), MonadIO m) => MethodInfo EventGetRunningTimeOffsetMethodInfo Event signature where
overloadedMethod _ = eventGetRunningTimeOffset
-- method Event::get_seqnum
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUInt32
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_get_seqnum" gst_event_get_seqnum ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
IO Word32
eventGetSeqnum ::
(MonadIO m) =>
Event -- _obj
-> m Word32 -- result
eventGetSeqnum _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- gst_event_get_seqnum _obj'
touchManagedPtr _obj
return result
data EventGetSeqnumMethodInfo
instance (signature ~ (m Word32), MonadIO m) => MethodInfo EventGetSeqnumMethodInfo Event signature where
overloadedMethod _ = eventGetSeqnum
-- method Event::get_structure
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Structure"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_get_structure" gst_event_get_structure ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
IO (Ptr Structure)
eventGetStructure ::
(MonadIO m) =>
Event -- _obj
-> m Structure -- result
eventGetStructure _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- gst_event_get_structure _obj'
checkUnexpectedReturnNULL "gst_event_get_structure" result
result' <- (newBoxed Structure) result
touchManagedPtr _obj
return result'
data EventGetStructureMethodInfo
instance (signature ~ (m Structure), MonadIO m) => MethodInfo EventGetStructureMethodInfo Event signature where
overloadedMethod _ = eventGetStructure
-- method Event::has_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_has_name" gst_event_has_name ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
CString -> -- name : TBasicType TUTF8
IO CInt
eventHasName ::
(MonadIO m) =>
Event -- _obj
-> T.Text -- name
-> m Bool -- result
eventHasName _obj name = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
name' <- textToCString name
result <- gst_event_has_name _obj' name'
let result' = (/= 0) result
touchManagedPtr _obj
freeMem name'
return result'
data EventHasNameMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m) => MethodInfo EventHasNameMethodInfo Event signature where
overloadedMethod _ = eventHasName
-- method Event::parse_buffer_size
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "Gst" "Format", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "minsize", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "maxsize", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "async", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_buffer_size" gst_event_parse_buffer_size ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr CUInt -> -- format : TInterface "Gst" "Format"
Ptr Int64 -> -- minsize : TBasicType TInt64
Ptr Int64 -> -- maxsize : TBasicType TInt64
Ptr CInt -> -- async : TBasicType TBoolean
IO ()
eventParseBufferSize ::
(MonadIO m) =>
Event -- _obj
-> m (Format,Int64,Int64,Bool) -- result
eventParseBufferSize _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
format <- allocMem :: IO (Ptr CUInt)
minsize <- allocMem :: IO (Ptr Int64)
maxsize <- allocMem :: IO (Ptr Int64)
async <- allocMem :: IO (Ptr CInt)
gst_event_parse_buffer_size _obj' format minsize maxsize async
format' <- peek format
let format'' = (toEnum . fromIntegral) format'
minsize' <- peek minsize
maxsize' <- peek maxsize
async' <- peek async
let async'' = (/= 0) async'
touchManagedPtr _obj
freeMem format
freeMem minsize
freeMem maxsize
freeMem async
return (format'', minsize', maxsize', async'')
data EventParseBufferSizeMethodInfo
instance (signature ~ (m (Format,Int64,Int64,Bool)), MonadIO m) => MethodInfo EventParseBufferSizeMethodInfo Event signature where
overloadedMethod _ = eventParseBufferSize
-- method Event::parse_caps
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface "Gst" "Caps", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_caps" gst_event_parse_caps ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr Caps -> -- caps : TInterface "Gst" "Caps"
IO ()
eventParseCaps ::
(MonadIO m) =>
Event -- _obj
-> m (Caps) -- result
eventParseCaps _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
caps <- callocBoxedBytes 64 :: IO (Ptr Caps)
gst_event_parse_caps _obj' caps
caps' <- (wrapBoxed Caps) caps
touchManagedPtr _obj
return caps'
data EventParseCapsMethodInfo
instance (signature ~ (m (Caps)), MonadIO m) => MethodInfo EventParseCapsMethodInfo Event signature where
overloadedMethod _ = eventParseCaps
-- method Event::parse_flush_stop
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reset_time", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_flush_stop" gst_event_parse_flush_stop ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr CInt -> -- reset_time : TBasicType TBoolean
IO ()
eventParseFlushStop ::
(MonadIO m) =>
Event -- _obj
-> m (Bool) -- result
eventParseFlushStop _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
resetTime <- allocMem :: IO (Ptr CInt)
gst_event_parse_flush_stop _obj' resetTime
resetTime' <- peek resetTime
let resetTime'' = (/= 0) resetTime'
touchManagedPtr _obj
freeMem resetTime
return resetTime''
data EventParseFlushStopMethodInfo
instance (signature ~ (m (Bool)), MonadIO m) => MethodInfo EventParseFlushStopMethodInfo Event signature where
overloadedMethod _ = eventParseFlushStop
-- method Event::parse_gap
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "duration", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_gap" gst_event_parse_gap ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr Word64 -> -- timestamp : TBasicType TUInt64
Ptr Word64 -> -- duration : TBasicType TUInt64
IO ()
eventParseGap ::
(MonadIO m) =>
Event -- _obj
-> m (Word64,Word64) -- result
eventParseGap _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
timestamp <- allocMem :: IO (Ptr Word64)
duration <- allocMem :: IO (Ptr Word64)
gst_event_parse_gap _obj' timestamp duration
timestamp' <- peek timestamp
duration' <- peek duration
touchManagedPtr _obj
freeMem timestamp
freeMem duration
return (timestamp', duration')
data EventParseGapMethodInfo
instance (signature ~ (m (Word64,Word64)), MonadIO m) => MethodInfo EventParseGapMethodInfo Event signature where
overloadedMethod _ = eventParseGap
-- method Event::parse_group_id
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_id", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_group_id" gst_event_parse_group_id ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr Word32 -> -- group_id : TBasicType TUInt32
IO CInt
eventParseGroupId ::
(MonadIO m) =>
Event -- _obj
-> m (Bool,Word32) -- result
eventParseGroupId _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
groupId <- allocMem :: IO (Ptr Word32)
result <- gst_event_parse_group_id _obj' groupId
let result' = (/= 0) result
groupId' <- peek groupId
touchManagedPtr _obj
freeMem groupId
return (result', groupId')
data EventParseGroupIdMethodInfo
instance (signature ~ (m (Bool,Word32)), MonadIO m) => MethodInfo EventParseGroupIdMethodInfo Event signature where
overloadedMethod _ = eventParseGroupId
-- method Event::parse_latency
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "latency", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_latency" gst_event_parse_latency ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr Word64 -> -- latency : TBasicType TUInt64
IO ()
eventParseLatency ::
(MonadIO m) =>
Event -- _obj
-> m (Word64) -- result
eventParseLatency _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
latency <- allocMem :: IO (Ptr Word64)
gst_event_parse_latency _obj' latency
latency' <- peek latency
touchManagedPtr _obj
freeMem latency
return latency'
data EventParseLatencyMethodInfo
instance (signature ~ (m (Word64)), MonadIO m) => MethodInfo EventParseLatencyMethodInfo Event signature where
overloadedMethod _ = eventParseLatency
-- method Event::parse_protection
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "system_id", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface "Gst" "Buffer", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_protection" gst_event_parse_protection ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr CString -> -- system_id : TBasicType TUTF8
Ptr Buffer -> -- data : TInterface "Gst" "Buffer"
CString -> -- origin : TBasicType TUTF8
IO ()
eventParseProtection ::
(MonadIO m) =>
Event -- _obj
-> Maybe (T.Text) -- origin
-> m (T.Text,Buffer) -- result
eventParseProtection _obj origin = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
systemId <- allocMem :: IO (Ptr CString)
data_ <- callocBoxedBytes 112 :: IO (Ptr Buffer)
maybeOrigin <- case origin of
Nothing -> return nullPtr
Just jOrigin -> do
jOrigin' <- textToCString jOrigin
return jOrigin'
gst_event_parse_protection _obj' systemId data_ maybeOrigin
systemId' <- peek systemId
systemId'' <- cstringToText systemId'
data_' <- (wrapBoxed Buffer) data_
touchManagedPtr _obj
freeMem systemId
freeMem maybeOrigin
return (systemId'', data_')
data EventParseProtectionMethodInfo
instance (signature ~ (Maybe (T.Text) -> m (T.Text,Buffer)), MonadIO m) => MethodInfo EventParseProtectionMethodInfo Event signature where
overloadedMethod _ = eventParseProtection
-- method Event::parse_qos
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface "Gst" "QOSType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "proportion", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "diff", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_qos" gst_event_parse_qos ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr CUInt -> -- type : TInterface "Gst" "QOSType"
Ptr CDouble -> -- proportion : TBasicType TDouble
Ptr Int64 -> -- diff : TBasicType TInt64
Ptr Word64 -> -- timestamp : TBasicType TUInt64
IO ()
eventParseQos ::
(MonadIO m) =>
Event -- _obj
-> m (QOSType,Double,Int64,Word64) -- result
eventParseQos _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
type_ <- allocMem :: IO (Ptr CUInt)
proportion <- allocMem :: IO (Ptr CDouble)
diff <- allocMem :: IO (Ptr Int64)
timestamp <- allocMem :: IO (Ptr Word64)
gst_event_parse_qos _obj' type_ proportion diff timestamp
type_' <- peek type_
let type_'' = (toEnum . fromIntegral) type_'
proportion' <- peek proportion
let proportion'' = realToFrac proportion'
diff' <- peek diff
timestamp' <- peek timestamp
touchManagedPtr _obj
freeMem type_
freeMem proportion
freeMem diff
freeMem timestamp
return (type_'', proportion'', diff', timestamp')
data EventParseQosMethodInfo
instance (signature ~ (m (QOSType,Double,Int64,Word64)), MonadIO m) => MethodInfo EventParseQosMethodInfo Event signature where
overloadedMethod _ = eventParseQos
-- method Event::parse_seek
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "format", argType = TInterface "Gst" "Format", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "flags", argType = TInterface "Gst" "SeekFlags", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "start_type", argType = TInterface "Gst" "SeekType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "stop_type", argType = TInterface "Gst" "SeekType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "stop", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_seek" gst_event_parse_seek ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr CDouble -> -- rate : TBasicType TDouble
Ptr CUInt -> -- format : TInterface "Gst" "Format"
Ptr CUInt -> -- flags : TInterface "Gst" "SeekFlags"
Ptr CUInt -> -- start_type : TInterface "Gst" "SeekType"
Ptr Int64 -> -- start : TBasicType TInt64
Ptr CUInt -> -- stop_type : TInterface "Gst" "SeekType"
Ptr Int64 -> -- stop : TBasicType TInt64
IO ()
eventParseSeek ::
(MonadIO m) =>
Event -- _obj
-> m (Double,Format,[SeekFlags],SeekType,Int64,SeekType,Int64)-- result
eventParseSeek _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
rate <- allocMem :: IO (Ptr CDouble)
format <- allocMem :: IO (Ptr CUInt)
flags <- allocMem :: IO (Ptr CUInt)
startType <- allocMem :: IO (Ptr CUInt)
start <- allocMem :: IO (Ptr Int64)
stopType <- allocMem :: IO (Ptr CUInt)
stop <- allocMem :: IO (Ptr Int64)
gst_event_parse_seek _obj' rate format flags startType start stopType stop
rate' <- peek rate
let rate'' = realToFrac rate'
format' <- peek format
let format'' = (toEnum . fromIntegral) format'
flags' <- peek flags
let flags'' = wordToGFlags flags'
startType' <- peek startType
let startType'' = (toEnum . fromIntegral) startType'
start' <- peek start
stopType' <- peek stopType
let stopType'' = (toEnum . fromIntegral) stopType'
stop' <- peek stop
touchManagedPtr _obj
freeMem rate
freeMem format
freeMem flags
freeMem startType
freeMem start
freeMem stopType
freeMem stop
return (rate'', format'', flags'', startType'', start', stopType'', stop')
data EventParseSeekMethodInfo
instance (signature ~ (m (Double,Format,[SeekFlags],SeekType,Int64,SeekType,Int64)), MonadIO m) => MethodInfo EventParseSeekMethodInfo Event signature where
overloadedMethod _ = eventParseSeek
-- method Event::parse_segment
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "segment", argType = TInterface "Gst" "Segment", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_segment" gst_event_parse_segment ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr Segment -> -- segment : TInterface "Gst" "Segment"
IO ()
eventParseSegment ::
(MonadIO m) =>
Event -- _obj
-> m (Segment) -- result
eventParseSegment _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
segment <- callocBoxedBytes 120 :: IO (Ptr Segment)
gst_event_parse_segment _obj' segment
segment' <- (wrapBoxed Segment) segment
touchManagedPtr _obj
return segment'
data EventParseSegmentMethodInfo
instance (signature ~ (m (Segment)), MonadIO m) => MethodInfo EventParseSegmentMethodInfo Event signature where
overloadedMethod _ = eventParseSegment
-- method Event::parse_segment_done
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "Gst" "Format", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "position", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_segment_done" gst_event_parse_segment_done ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr CUInt -> -- format : TInterface "Gst" "Format"
Ptr Int64 -> -- position : TBasicType TInt64
IO ()
eventParseSegmentDone ::
(MonadIO m) =>
Event -- _obj
-> m (Format,Int64) -- result
eventParseSegmentDone _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
format <- allocMem :: IO (Ptr CUInt)
position <- allocMem :: IO (Ptr Int64)
gst_event_parse_segment_done _obj' format position
format' <- peek format
let format'' = (toEnum . fromIntegral) format'
position' <- peek position
touchManagedPtr _obj
freeMem format
freeMem position
return (format'', position')
data EventParseSegmentDoneMethodInfo
instance (signature ~ (m (Format,Int64)), MonadIO m) => MethodInfo EventParseSegmentDoneMethodInfo Event signature where
overloadedMethod _ = eventParseSegmentDone
-- method Event::parse_sink_message
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface "Gst" "Message", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_sink_message" gst_event_parse_sink_message ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr Message -> -- msg : TInterface "Gst" "Message"
IO ()
eventParseSinkMessage ::
(MonadIO m) =>
Event -- _obj
-> m (Message) -- result
eventParseSinkMessage _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
msg <- callocBoxedBytes 120 :: IO (Ptr Message)
gst_event_parse_sink_message _obj' msg
msg' <- (wrapBoxed Message) msg
touchManagedPtr _obj
return msg'
data EventParseSinkMessageMethodInfo
instance (signature ~ (m (Message)), MonadIO m) => MethodInfo EventParseSinkMessageMethodInfo Event signature where
overloadedMethod _ = eventParseSinkMessage
-- method Event::parse_step
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface "Gst" "Format", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "amount", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "flush", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "intermediate", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_step" gst_event_parse_step ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr CUInt -> -- format : TInterface "Gst" "Format"
Ptr Word64 -> -- amount : TBasicType TUInt64
Ptr CDouble -> -- rate : TBasicType TDouble
Ptr CInt -> -- flush : TBasicType TBoolean
Ptr CInt -> -- intermediate : TBasicType TBoolean
IO ()
eventParseStep ::
(MonadIO m) =>
Event -- _obj
-> m (Format,Word64,Double,Bool,Bool) -- result
eventParseStep _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
format <- allocMem :: IO (Ptr CUInt)
amount <- allocMem :: IO (Ptr Word64)
rate <- allocMem :: IO (Ptr CDouble)
flush <- allocMem :: IO (Ptr CInt)
intermediate <- allocMem :: IO (Ptr CInt)
gst_event_parse_step _obj' format amount rate flush intermediate
format' <- peek format
let format'' = (toEnum . fromIntegral) format'
amount' <- peek amount
rate' <- peek rate
let rate'' = realToFrac rate'
flush' <- peek flush
let flush'' = (/= 0) flush'
intermediate' <- peek intermediate
let intermediate'' = (/= 0) intermediate'
touchManagedPtr _obj
freeMem format
freeMem amount
freeMem rate
freeMem flush
freeMem intermediate
return (format'', amount', rate'', flush'', intermediate'')
data EventParseStepMethodInfo
instance (signature ~ (m (Format,Word64,Double,Bool,Bool)), MonadIO m) => MethodInfo EventParseStepMethodInfo Event signature where
overloadedMethod _ = eventParseStep
-- method Event::parse_stream_flags
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "Gst" "StreamFlags", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_stream_flags" gst_event_parse_stream_flags ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr CUInt -> -- flags : TInterface "Gst" "StreamFlags"
IO ()
eventParseStreamFlags ::
(MonadIO m) =>
Event -- _obj
-> m ([StreamFlags]) -- result
eventParseStreamFlags _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
flags <- allocMem :: IO (Ptr CUInt)
gst_event_parse_stream_flags _obj' flags
flags' <- peek flags
let flags'' = wordToGFlags flags'
touchManagedPtr _obj
freeMem flags
return flags''
data EventParseStreamFlagsMethodInfo
instance (signature ~ (m ([StreamFlags])), MonadIO m) => MethodInfo EventParseStreamFlagsMethodInfo Event signature where
overloadedMethod _ = eventParseStreamFlags
-- method Event::parse_stream_start
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stream_id", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_stream_start" gst_event_parse_stream_start ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr CString -> -- stream_id : TBasicType TUTF8
IO ()
eventParseStreamStart ::
(MonadIO m) =>
Event -- _obj
-> m (T.Text) -- result
eventParseStreamStart _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
streamId <- allocMem :: IO (Ptr CString)
gst_event_parse_stream_start _obj' streamId
streamId' <- peek streamId
streamId'' <- cstringToText streamId'
touchManagedPtr _obj
freeMem streamId
return streamId''
data EventParseStreamStartMethodInfo
instance (signature ~ (m (T.Text)), MonadIO m) => MethodInfo EventParseStreamStartMethodInfo Event signature where
overloadedMethod _ = eventParseStreamStart
-- method Event::parse_tag
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "taglist", argType = TInterface "Gst" "TagList", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_tag" gst_event_parse_tag ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr TagList -> -- taglist : TInterface "Gst" "TagList"
IO ()
eventParseTag ::
(MonadIO m) =>
Event -- _obj
-> m (TagList) -- result
eventParseTag _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
taglist <- callocBoxedBytes 64 :: IO (Ptr TagList)
gst_event_parse_tag _obj' taglist
taglist' <- (wrapBoxed TagList) taglist
touchManagedPtr _obj
return taglist'
data EventParseTagMethodInfo
instance (signature ~ (m (TagList)), MonadIO m) => MethodInfo EventParseTagMethodInfo Event signature where
overloadedMethod _ = eventParseTag
-- method Event::parse_toc
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "toc", argType = TInterface "Gst" "Toc", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "updated", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_toc" gst_event_parse_toc ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr (Ptr Toc) -> -- toc : TInterface "Gst" "Toc"
Ptr CInt -> -- updated : TBasicType TBoolean
IO ()
eventParseToc ::
(MonadIO m) =>
Event -- _obj
-> m (Toc,Bool) -- result
eventParseToc _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
toc <- allocMem :: IO (Ptr (Ptr Toc))
updated <- allocMem :: IO (Ptr CInt)
gst_event_parse_toc _obj' toc updated
toc' <- peek toc
toc'' <- (wrapBoxed Toc) toc'
updated' <- peek updated
let updated'' = (/= 0) updated'
touchManagedPtr _obj
freeMem toc
freeMem updated
return (toc'', updated'')
data EventParseTocMethodInfo
instance (signature ~ (m (Toc,Bool)), MonadIO m) => MethodInfo EventParseTocMethodInfo Event signature where
overloadedMethod _ = eventParseToc
-- method Event::parse_toc_select
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uid", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_parse_toc_select" gst_event_parse_toc_select ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Ptr CString -> -- uid : TBasicType TUTF8
IO ()
eventParseTocSelect ::
(MonadIO m) =>
Event -- _obj
-> m (T.Text) -- result
eventParseTocSelect _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
uid <- allocMem :: IO (Ptr CString)
gst_event_parse_toc_select _obj' uid
uid' <- peek uid
uid'' <- cstringToText uid'
freeMem uid'
touchManagedPtr _obj
freeMem uid
return uid''
data EventParseTocSelectMethodInfo
instance (signature ~ (m (T.Text)), MonadIO m) => MethodInfo EventParseTocSelectMethodInfo Event signature where
overloadedMethod _ = eventParseTocSelect
-- method Event::set_group_id
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_set_group_id" gst_event_set_group_id ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Word32 -> -- group_id : TBasicType TUInt32
IO ()
eventSetGroupId ::
(MonadIO m) =>
Event -- _obj
-> Word32 -- groupId
-> m () -- result
eventSetGroupId _obj groupId = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
gst_event_set_group_id _obj' groupId
touchManagedPtr _obj
return ()
data EventSetGroupIdMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m) => MethodInfo EventSetGroupIdMethodInfo Event signature where
overloadedMethod _ = eventSetGroupId
-- method Event::set_running_time_offset
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_set_running_time_offset" gst_event_set_running_time_offset ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Int64 -> -- offset : TBasicType TInt64
IO ()
eventSetRunningTimeOffset ::
(MonadIO m) =>
Event -- _obj
-> Int64 -- offset
-> m () -- result
eventSetRunningTimeOffset _obj offset = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
gst_event_set_running_time_offset _obj' offset
touchManagedPtr _obj
return ()
data EventSetRunningTimeOffsetMethodInfo
instance (signature ~ (Int64 -> m ()), MonadIO m) => MethodInfo EventSetRunningTimeOffsetMethodInfo Event signature where
overloadedMethod _ = eventSetRunningTimeOffset
-- method Event::set_seqnum
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seqnum", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_set_seqnum" gst_event_set_seqnum ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
Word32 -> -- seqnum : TBasicType TUInt32
IO ()
eventSetSeqnum ::
(MonadIO m) =>
Event -- _obj
-> Word32 -- seqnum
-> m () -- result
eventSetSeqnum _obj seqnum = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
gst_event_set_seqnum _obj' seqnum
touchManagedPtr _obj
return ()
data EventSetSeqnumMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m) => MethodInfo EventSetSeqnumMethodInfo Event signature where
overloadedMethod _ = eventSetSeqnum
-- method Event::set_stream_flags
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface "Gst" "StreamFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_set_stream_flags" gst_event_set_stream_flags ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
CUInt -> -- flags : TInterface "Gst" "StreamFlags"
IO ()
eventSetStreamFlags ::
(MonadIO m) =>
Event -- _obj
-> [StreamFlags] -- flags
-> m () -- result
eventSetStreamFlags _obj flags = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let flags' = gflagsToWord flags
gst_event_set_stream_flags _obj' flags'
touchManagedPtr _obj
return ()
data EventSetStreamFlagsMethodInfo
instance (signature ~ ([StreamFlags] -> m ()), MonadIO m) => MethodInfo EventSetStreamFlagsMethodInfo Event signature where
overloadedMethod _ = eventSetStreamFlags
-- method Event::writable_structure
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Event", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Structure"
-- throws : False
-- Skip return : False
foreign import ccall "gst_event_writable_structure" gst_event_writable_structure ::
Ptr Event -> -- _obj : TInterface "Gst" "Event"
IO (Ptr Structure)
eventWritableStructure ::
(MonadIO m) =>
Event -- _obj
-> m Structure -- result
eventWritableStructure _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- gst_event_writable_structure _obj'
checkUnexpectedReturnNULL "gst_event_writable_structure" result
result' <- (newBoxed Structure) result
touchManagedPtr _obj
return result'
data EventWritableStructureMethodInfo
instance (signature ~ (m Structure), MonadIO m) => MethodInfo EventWritableStructureMethodInfo Event signature where
overloadedMethod _ = eventWritableStructure
type family ResolveEventMethod (t :: Symbol) (o :: *) :: * where
ResolveEventMethod "copySegment" o = EventCopySegmentMethodInfo
ResolveEventMethod "hasName" o = EventHasNameMethodInfo
ResolveEventMethod "parseBufferSize" o = EventParseBufferSizeMethodInfo
ResolveEventMethod "parseCaps" o = EventParseCapsMethodInfo
ResolveEventMethod "parseFlushStop" o = EventParseFlushStopMethodInfo
ResolveEventMethod "parseGap" o = EventParseGapMethodInfo
ResolveEventMethod "parseGroupId" o = EventParseGroupIdMethodInfo
ResolveEventMethod "parseLatency" o = EventParseLatencyMethodInfo
ResolveEventMethod "parseProtection" o = EventParseProtectionMethodInfo
ResolveEventMethod "parseQos" o = EventParseQosMethodInfo
ResolveEventMethod "parseSeek" o = EventParseSeekMethodInfo
ResolveEventMethod "parseSegment" o = EventParseSegmentMethodInfo
ResolveEventMethod "parseSegmentDone" o = EventParseSegmentDoneMethodInfo
ResolveEventMethod "parseSinkMessage" o = EventParseSinkMessageMethodInfo
ResolveEventMethod "parseStep" o = EventParseStepMethodInfo
ResolveEventMethod "parseStreamFlags" o = EventParseStreamFlagsMethodInfo
ResolveEventMethod "parseStreamStart" o = EventParseStreamStartMethodInfo
ResolveEventMethod "parseTag" o = EventParseTagMethodInfo
ResolveEventMethod "parseToc" o = EventParseTocMethodInfo
ResolveEventMethod "parseTocSelect" o = EventParseTocSelectMethodInfo
ResolveEventMethod "writableStructure" o = EventWritableStructureMethodInfo
ResolveEventMethod "getRunningTimeOffset" o = EventGetRunningTimeOffsetMethodInfo
ResolveEventMethod "getSeqnum" o = EventGetSeqnumMethodInfo
ResolveEventMethod "getStructure" o = EventGetStructureMethodInfo
ResolveEventMethod "setGroupId" o = EventSetGroupIdMethodInfo
ResolveEventMethod "setRunningTimeOffset" o = EventSetRunningTimeOffsetMethodInfo
ResolveEventMethod "setSeqnum" o = EventSetSeqnumMethodInfo
ResolveEventMethod "setStreamFlags" o = EventSetStreamFlagsMethodInfo
ResolveEventMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveEventMethod t Event, MethodInfo info Event p) => IsLabelProxy t (Event -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveEventMethod t Event, MethodInfo info Event p) => IsLabel t (Event -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif