{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- An implementation of GstPad that can be used with t'GI.GstVideo.Objects.VideoAggregator.VideoAggregator'.
-- 
-- See t'GI.GstVideo.Objects.VideoAggregator.VideoAggregator' for more details.
-- 
-- /Since: 1.20/

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif

module GI.GstVideo.Objects.VideoAggregatorParallelConvertPad
    ( 

-- * Exported types
    VideoAggregatorParallelConvertPad(..)   ,
    IsVideoAggregatorParallelConvertPad     ,
    toVideoAggregatorParallelConvertPad     ,


 -- * Methods
-- | 
-- 
--  === __Click to display all available methods, including inherited ones__
-- ==== Methods
-- [activateMode]("GI.Gst.Objects.Pad#g:method:activateMode"), [addControlBinding]("GI.Gst.Objects.Object#g:method:addControlBinding"), [addProbe]("GI.Gst.Objects.Pad#g:method:addProbe"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [canLink]("GI.Gst.Objects.Pad#g:method:canLink"), [chain]("GI.Gst.Objects.Pad#g:method:chain"), [chainList]("GI.Gst.Objects.Pad#g:method:chainList"), [checkReconfigure]("GI.Gst.Objects.Pad#g:method:checkReconfigure"), [createStreamId]("GI.Gst.Objects.Pad#g:method:createStreamId"), [defaultError]("GI.Gst.Objects.Object#g:method:defaultError"), [dropBuffer]("GI.GstBase.Objects.AggregatorPad#g:method:dropBuffer"), [eventDefault]("GI.Gst.Objects.Pad#g:method:eventDefault"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [forward]("GI.Gst.Objects.Pad#g:method:forward"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [getv]("GI.GObject.Objects.Object#g:method:getv"), [hasActiveControlBindings]("GI.Gst.Objects.Object#g:method:hasActiveControlBindings"), [hasAncestor]("GI.Gst.Objects.Object#g:method:hasAncestor"), [hasAsAncestor]("GI.Gst.Objects.Object#g:method:hasAsAncestor"), [hasAsParent]("GI.Gst.Objects.Object#g:method:hasAsParent"), [hasBuffer]("GI.GstBase.Objects.AggregatorPad#g:method:hasBuffer"), [hasCurrentBuffer]("GI.GstVideo.Objects.VideoAggregatorPad#g:method:hasCurrentBuffer"), [hasCurrentCaps]("GI.Gst.Objects.Pad#g:method:hasCurrentCaps"), [isActive]("GI.Gst.Objects.Pad#g:method:isActive"), [isBlocked]("GI.Gst.Objects.Pad#g:method:isBlocked"), [isBlocking]("GI.Gst.Objects.Pad#g:method:isBlocking"), [isEos]("GI.GstBase.Objects.AggregatorPad#g:method:isEos"), [isFloating]("GI.GObject.Objects.Object#g:method:isFloating"), [isInactive]("GI.GstBase.Objects.AggregatorPad#g:method:isInactive"), [isLinked]("GI.Gst.Objects.Pad#g:method:isLinked"), [iterateInternalLinks]("GI.Gst.Objects.Pad#g:method:iterateInternalLinks"), [iterateInternalLinksDefault]("GI.Gst.Objects.Pad#g:method:iterateInternalLinksDefault"), [link]("GI.Gst.Objects.Pad#g:method:link"), [linkFull]("GI.Gst.Objects.Pad#g:method:linkFull"), [linkMaybeGhosting]("GI.Gst.Objects.Pad#g:method:linkMaybeGhosting"), [linkMaybeGhostingFull]("GI.Gst.Objects.Pad#g:method:linkMaybeGhostingFull"), [markReconfigure]("GI.Gst.Objects.Pad#g:method:markReconfigure"), [needsReconfigure]("GI.Gst.Objects.Pad#g:method:needsReconfigure"), [notify]("GI.GObject.Objects.Object#g:method:notify"), [notifyByPspec]("GI.GObject.Objects.Object#g:method:notifyByPspec"), [pauseTask]("GI.Gst.Objects.Pad#g:method:pauseTask"), [peekBuffer]("GI.GstBase.Objects.AggregatorPad#g:method:peekBuffer"), [peerQuery]("GI.Gst.Objects.Pad#g:method:peerQuery"), [peerQueryAcceptCaps]("GI.Gst.Objects.Pad#g:method:peerQueryAcceptCaps"), [peerQueryCaps]("GI.Gst.Objects.Pad#g:method:peerQueryCaps"), [peerQueryConvert]("GI.Gst.Objects.Pad#g:method:peerQueryConvert"), [peerQueryDuration]("GI.Gst.Objects.Pad#g:method:peerQueryDuration"), [peerQueryPosition]("GI.Gst.Objects.Pad#g:method:peerQueryPosition"), [popBuffer]("GI.GstBase.Objects.AggregatorPad#g:method:popBuffer"), [proxyQueryAcceptCaps]("GI.Gst.Objects.Pad#g:method:proxyQueryAcceptCaps"), [proxyQueryCaps]("GI.Gst.Objects.Pad#g:method:proxyQueryCaps"), [pullRange]("GI.Gst.Objects.Pad#g:method:pullRange"), [push]("GI.Gst.Objects.Pad#g:method:push"), [pushEvent]("GI.Gst.Objects.Pad#g:method:pushEvent"), [pushList]("GI.Gst.Objects.Pad#g:method:pushList"), [query]("GI.Gst.Objects.Pad#g:method:query"), [queryAcceptCaps]("GI.Gst.Objects.Pad#g:method:queryAcceptCaps"), [queryCaps]("GI.Gst.Objects.Pad#g:method:queryCaps"), [queryConvert]("GI.Gst.Objects.Pad#g:method:queryConvert"), [queryDefault]("GI.Gst.Objects.Pad#g:method:queryDefault"), [queryDuration]("GI.Gst.Objects.Pad#g:method:queryDuration"), [queryPosition]("GI.Gst.Objects.Pad#g:method:queryPosition"), [ref]("GI.Gst.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [removeControlBinding]("GI.Gst.Objects.Object#g:method:removeControlBinding"), [removeProbe]("GI.Gst.Objects.Pad#g:method:removeProbe"), [runDispose]("GI.GObject.Objects.Object#g:method:runDispose"), [sendEvent]("GI.Gst.Objects.Pad#g:method:sendEvent"), [startTask]("GI.Gst.Objects.Pad#g:method:startTask"), [stealData]("GI.GObject.Objects.Object#g:method:stealData"), [stealQdata]("GI.GObject.Objects.Object#g:method:stealQdata"), [stickyEventsForeach]("GI.Gst.Objects.Pad#g:method:stickyEventsForeach"), [stopTask]("GI.Gst.Objects.Pad#g:method:stopTask"), [storeStickyEvent]("GI.Gst.Objects.Pad#g:method:storeStickyEvent"), [suggestNextSync]("GI.Gst.Objects.Object#g:method:suggestNextSync"), [syncValues]("GI.Gst.Objects.Object#g:method:syncValues"), [thawNotify]("GI.GObject.Objects.Object#g:method:thawNotify"), [unlink]("GI.Gst.Objects.Pad#g:method:unlink"), [unparent]("GI.Gst.Objects.Object#g:method:unparent"), [unref]("GI.Gst.Objects.Object#g:method:unref"), [updateConversionInfo]("GI.GstVideo.Objects.VideoAggregatorConvertPad#g:method:updateConversionInfo"), [useFixedCaps]("GI.Gst.Objects.Pad#g:method:useFixedCaps"), [watchClosure]("GI.GObject.Objects.Object#g:method:watchClosure").
-- 
-- ==== Getters
-- [getAllowedCaps]("GI.Gst.Objects.Pad#g:method:getAllowedCaps"), [getControlBinding]("GI.Gst.Objects.Object#g:method:getControlBinding"), [getControlRate]("GI.Gst.Objects.Object#g:method:getControlRate"), [getCurrentBuffer]("GI.GstVideo.Objects.VideoAggregatorPad#g:method:getCurrentBuffer"), [getCurrentCaps]("GI.Gst.Objects.Pad#g:method:getCurrentCaps"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDirection]("GI.Gst.Objects.Pad#g:method:getDirection"), [getElementPrivate]("GI.Gst.Objects.Pad#g:method:getElementPrivate"), [getGValueArray]("GI.Gst.Objects.Object#g:method:getGValueArray"), [getLastFlowReturn]("GI.Gst.Objects.Pad#g:method:getLastFlowReturn"), [getName]("GI.Gst.Objects.Object#g:method:getName"), [getOffset]("GI.Gst.Objects.Pad#g:method:getOffset"), [getPadTemplate]("GI.Gst.Objects.Pad#g:method:getPadTemplate"), [getPadTemplateCaps]("GI.Gst.Objects.Pad#g:method:getPadTemplateCaps"), [getParent]("GI.Gst.Objects.Object#g:method:getParent"), [getParentElement]("GI.Gst.Objects.Pad#g:method:getParentElement"), [getPathString]("GI.Gst.Objects.Object#g:method:getPathString"), [getPeer]("GI.Gst.Objects.Pad#g:method:getPeer"), [getPreparedFrame]("GI.GstVideo.Objects.VideoAggregatorPad#g:method:getPreparedFrame"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getRange]("GI.Gst.Objects.Pad#g:method:getRange"), [getSingleInternalLink]("GI.Gst.Objects.Pad#g:method:getSingleInternalLink"), [getStickyEvent]("GI.Gst.Objects.Pad#g:method:getStickyEvent"), [getStream]("GI.Gst.Objects.Pad#g:method:getStream"), [getStreamId]("GI.Gst.Objects.Pad#g:method:getStreamId"), [getTaskState]("GI.Gst.Objects.Pad#g:method:getTaskState"), [getValue]("GI.Gst.Objects.Object#g:method:getValue").
-- 
-- ==== Setters
-- [setActivateFunctionFull]("GI.Gst.Objects.Pad#g:method:setActivateFunctionFull"), [setActivatemodeFunctionFull]("GI.Gst.Objects.Pad#g:method:setActivatemodeFunctionFull"), [setActive]("GI.Gst.Objects.Pad#g:method:setActive"), [setChainFunctionFull]("GI.Gst.Objects.Pad#g:method:setChainFunctionFull"), [setChainListFunctionFull]("GI.Gst.Objects.Pad#g:method:setChainListFunctionFull"), [setControlBindingDisabled]("GI.Gst.Objects.Object#g:method:setControlBindingDisabled"), [setControlBindingsDisabled]("GI.Gst.Objects.Object#g:method:setControlBindingsDisabled"), [setControlRate]("GI.Gst.Objects.Object#g:method:setControlRate"), [setData]("GI.GObject.Objects.Object#g:method:setData"), [setDataFull]("GI.GObject.Objects.Object#g:method:setDataFull"), [setElementPrivate]("GI.Gst.Objects.Pad#g:method:setElementPrivate"), [setEventFullFunctionFull]("GI.Gst.Objects.Pad#g:method:setEventFullFunctionFull"), [setEventFunctionFull]("GI.Gst.Objects.Pad#g:method:setEventFunctionFull"), [setGetrangeFunctionFull]("GI.Gst.Objects.Pad#g:method:setGetrangeFunctionFull"), [setIterateInternalLinksFunctionFull]("GI.Gst.Objects.Pad#g:method:setIterateInternalLinksFunctionFull"), [setLinkFunctionFull]("GI.Gst.Objects.Pad#g:method:setLinkFunctionFull"), [setName]("GI.Gst.Objects.Object#g:method:setName"), [setNeedsAlpha]("GI.GstVideo.Objects.VideoAggregatorPad#g:method:setNeedsAlpha"), [setOffset]("GI.Gst.Objects.Pad#g:method:setOffset"), [setParent]("GI.Gst.Objects.Object#g:method:setParent"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setQueryFunctionFull]("GI.Gst.Objects.Pad#g:method:setQueryFunctionFull"), [setUnlinkFunctionFull]("GI.Gst.Objects.Pad#g:method:setUnlinkFunctionFull").

#if defined(ENABLE_OVERLOADING)
    ResolveVideoAggregatorParallelConvertPadMethod,
#endif



    ) where

import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R

import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gst.Objects.Object as Gst.Object
import qualified GI.Gst.Objects.Pad as Gst.Pad
import qualified GI.GstBase.Objects.AggregatorPad as GstBase.AggregatorPad
import {-# SOURCE #-} qualified GI.GstVideo.Objects.VideoAggregatorConvertPad as GstVideo.VideoAggregatorConvertPad
import {-# SOURCE #-} qualified GI.GstVideo.Objects.VideoAggregatorPad as GstVideo.VideoAggregatorPad

-- | Memory-managed wrapper type.
newtype VideoAggregatorParallelConvertPad = VideoAggregatorParallelConvertPad (SP.ManagedPtr VideoAggregatorParallelConvertPad)
    deriving (VideoAggregatorParallelConvertPad
-> VideoAggregatorParallelConvertPad -> Bool
(VideoAggregatorParallelConvertPad
 -> VideoAggregatorParallelConvertPad -> Bool)
-> (VideoAggregatorParallelConvertPad
    -> VideoAggregatorParallelConvertPad -> Bool)
-> Eq VideoAggregatorParallelConvertPad
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: VideoAggregatorParallelConvertPad
-> VideoAggregatorParallelConvertPad -> Bool
== :: VideoAggregatorParallelConvertPad
-> VideoAggregatorParallelConvertPad -> Bool
$c/= :: VideoAggregatorParallelConvertPad
-> VideoAggregatorParallelConvertPad -> Bool
/= :: VideoAggregatorParallelConvertPad
-> VideoAggregatorParallelConvertPad -> Bool
Eq)

instance SP.ManagedPtrNewtype VideoAggregatorParallelConvertPad where
    toManagedPtr :: VideoAggregatorParallelConvertPad
-> ManagedPtr VideoAggregatorParallelConvertPad
toManagedPtr (VideoAggregatorParallelConvertPad ManagedPtr VideoAggregatorParallelConvertPad
p) = ManagedPtr VideoAggregatorParallelConvertPad
p

foreign import ccall "gst_video_aggregator_parallel_convert_pad_get_type"
    c_gst_video_aggregator_parallel_convert_pad_get_type :: IO B.Types.GType

instance B.Types.TypedObject VideoAggregatorParallelConvertPad where
    glibType :: IO GType
glibType = IO GType
c_gst_video_aggregator_parallel_convert_pad_get_type

instance B.Types.GObject VideoAggregatorParallelConvertPad

-- | Type class for types which can be safely cast to `VideoAggregatorParallelConvertPad`, for instance with `toVideoAggregatorParallelConvertPad`.
class (SP.GObject o, O.IsDescendantOf VideoAggregatorParallelConvertPad o) => IsVideoAggregatorParallelConvertPad o
instance (SP.GObject o, O.IsDescendantOf VideoAggregatorParallelConvertPad o) => IsVideoAggregatorParallelConvertPad o

instance O.HasParentTypes VideoAggregatorParallelConvertPad
type instance O.ParentTypes VideoAggregatorParallelConvertPad = '[GstVideo.VideoAggregatorConvertPad.VideoAggregatorConvertPad, GstVideo.VideoAggregatorPad.VideoAggregatorPad, GstBase.AggregatorPad.AggregatorPad, Gst.Pad.Pad, Gst.Object.Object, GObject.Object.Object]

-- | Cast to `VideoAggregatorParallelConvertPad`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toVideoAggregatorParallelConvertPad :: (MIO.MonadIO m, IsVideoAggregatorParallelConvertPad o) => o -> m VideoAggregatorParallelConvertPad
toVideoAggregatorParallelConvertPad :: forall (m :: * -> *) o.
(MonadIO m, IsVideoAggregatorParallelConvertPad o) =>
o -> m VideoAggregatorParallelConvertPad
toVideoAggregatorParallelConvertPad = IO VideoAggregatorParallelConvertPad
-> m VideoAggregatorParallelConvertPad
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO VideoAggregatorParallelConvertPad
 -> m VideoAggregatorParallelConvertPad)
-> (o -> IO VideoAggregatorParallelConvertPad)
-> o
-> m VideoAggregatorParallelConvertPad
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr VideoAggregatorParallelConvertPad
 -> VideoAggregatorParallelConvertPad)
-> o -> IO VideoAggregatorParallelConvertPad
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
 ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr VideoAggregatorParallelConvertPad
-> VideoAggregatorParallelConvertPad
VideoAggregatorParallelConvertPad

-- | Convert 'VideoAggregatorParallelConvertPad' to and from 'Data.GI.Base.GValue.GValue'. See 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue (Maybe VideoAggregatorParallelConvertPad) where
    gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gst_video_aggregator_parallel_convert_pad_get_type
    gvalueSet_ :: Ptr GValue -> Maybe VideoAggregatorParallelConvertPad -> IO ()
gvalueSet_ Ptr GValue
gv Maybe VideoAggregatorParallelConvertPad
P.Nothing = Ptr GValue -> Ptr VideoAggregatorParallelConvertPad -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr VideoAggregatorParallelConvertPad
forall a. Ptr a
FP.nullPtr :: FP.Ptr VideoAggregatorParallelConvertPad)
    gvalueSet_ Ptr GValue
gv (P.Just VideoAggregatorParallelConvertPad
obj) = VideoAggregatorParallelConvertPad
-> (Ptr VideoAggregatorParallelConvertPad -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr VideoAggregatorParallelConvertPad
obj (Ptr GValue -> Ptr VideoAggregatorParallelConvertPad -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
    gvalueGet_ :: Ptr GValue -> IO (Maybe VideoAggregatorParallelConvertPad)
gvalueGet_ Ptr GValue
gv = do
        Ptr VideoAggregatorParallelConvertPad
ptr <- Ptr GValue -> IO (Ptr VideoAggregatorParallelConvertPad)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr VideoAggregatorParallelConvertPad)
        if Ptr VideoAggregatorParallelConvertPad
ptr Ptr VideoAggregatorParallelConvertPad
-> Ptr VideoAggregatorParallelConvertPad -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr VideoAggregatorParallelConvertPad
forall a. Ptr a
FP.nullPtr
        then VideoAggregatorParallelConvertPad
-> Maybe VideoAggregatorParallelConvertPad
forall a. a -> Maybe a
P.Just (VideoAggregatorParallelConvertPad
 -> Maybe VideoAggregatorParallelConvertPad)
-> IO VideoAggregatorParallelConvertPad
-> IO (Maybe VideoAggregatorParallelConvertPad)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr VideoAggregatorParallelConvertPad
 -> VideoAggregatorParallelConvertPad)
-> Ptr VideoAggregatorParallelConvertPad
-> IO VideoAggregatorParallelConvertPad
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr VideoAggregatorParallelConvertPad
-> VideoAggregatorParallelConvertPad
VideoAggregatorParallelConvertPad Ptr VideoAggregatorParallelConvertPad
ptr
        else Maybe VideoAggregatorParallelConvertPad
-> IO (Maybe VideoAggregatorParallelConvertPad)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe VideoAggregatorParallelConvertPad
forall a. Maybe a
P.Nothing
        
    

#if defined(ENABLE_OVERLOADING)
type family ResolveVideoAggregatorParallelConvertPadMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
    ResolveVideoAggregatorParallelConvertPadMethod "activateMode" o = Gst.Pad.PadActivateModeMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "addProbe" o = Gst.Pad.PadAddProbeMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "canLink" o = Gst.Pad.PadCanLinkMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "chain" o = Gst.Pad.PadChainMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "chainList" o = Gst.Pad.PadChainListMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "checkReconfigure" o = Gst.Pad.PadCheckReconfigureMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "createStreamId" o = Gst.Pad.PadCreateStreamIdMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "dropBuffer" o = GstBase.AggregatorPad.AggregatorPadDropBufferMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "eventDefault" o = Gst.Pad.PadEventDefaultMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "forward" o = Gst.Pad.PadForwardMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "hasBuffer" o = GstBase.AggregatorPad.AggregatorPadHasBufferMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "hasCurrentBuffer" o = GstVideo.VideoAggregatorPad.VideoAggregatorPadHasCurrentBufferMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "hasCurrentCaps" o = Gst.Pad.PadHasCurrentCapsMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "isActive" o = Gst.Pad.PadIsActiveMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "isBlocked" o = Gst.Pad.PadIsBlockedMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "isBlocking" o = Gst.Pad.PadIsBlockingMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "isEos" o = GstBase.AggregatorPad.AggregatorPadIsEosMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "isInactive" o = GstBase.AggregatorPad.AggregatorPadIsInactiveMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "isLinked" o = Gst.Pad.PadIsLinkedMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "iterateInternalLinks" o = Gst.Pad.PadIterateInternalLinksMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "iterateInternalLinksDefault" o = Gst.Pad.PadIterateInternalLinksDefaultMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "link" o = Gst.Pad.PadLinkMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "linkFull" o = Gst.Pad.PadLinkFullMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "linkMaybeGhosting" o = Gst.Pad.PadLinkMaybeGhostingMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "linkMaybeGhostingFull" o = Gst.Pad.PadLinkMaybeGhostingFullMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "markReconfigure" o = Gst.Pad.PadMarkReconfigureMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "needsReconfigure" o = Gst.Pad.PadNeedsReconfigureMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "pauseTask" o = Gst.Pad.PadPauseTaskMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "peekBuffer" o = GstBase.AggregatorPad.AggregatorPadPeekBufferMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "peerQuery" o = Gst.Pad.PadPeerQueryMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "peerQueryAcceptCaps" o = Gst.Pad.PadPeerQueryAcceptCapsMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "peerQueryCaps" o = Gst.Pad.PadPeerQueryCapsMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "peerQueryConvert" o = Gst.Pad.PadPeerQueryConvertMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "peerQueryDuration" o = Gst.Pad.PadPeerQueryDurationMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "peerQueryPosition" o = Gst.Pad.PadPeerQueryPositionMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "popBuffer" o = GstBase.AggregatorPad.AggregatorPadPopBufferMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "proxyQueryAcceptCaps" o = Gst.Pad.PadProxyQueryAcceptCapsMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "proxyQueryCaps" o = Gst.Pad.PadProxyQueryCapsMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "pullRange" o = Gst.Pad.PadPullRangeMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "push" o = Gst.Pad.PadPushMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "pushEvent" o = Gst.Pad.PadPushEventMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "pushList" o = Gst.Pad.PadPushListMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "query" o = Gst.Pad.PadQueryMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "queryAcceptCaps" o = Gst.Pad.PadQueryAcceptCapsMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "queryCaps" o = Gst.Pad.PadQueryCapsMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "queryConvert" o = Gst.Pad.PadQueryConvertMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "queryDefault" o = Gst.Pad.PadQueryDefaultMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "queryDuration" o = Gst.Pad.PadQueryDurationMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "queryPosition" o = Gst.Pad.PadQueryPositionMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "ref" o = Gst.Object.ObjectRefMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "removeProbe" o = Gst.Pad.PadRemoveProbeMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "sendEvent" o = Gst.Pad.PadSendEventMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "startTask" o = Gst.Pad.PadStartTaskMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "stickyEventsForeach" o = Gst.Pad.PadStickyEventsForeachMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "stopTask" o = Gst.Pad.PadStopTaskMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "storeStickyEvent" o = Gst.Pad.PadStoreStickyEventMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "unlink" o = Gst.Pad.PadUnlinkMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "updateConversionInfo" o = GstVideo.VideoAggregatorConvertPad.VideoAggregatorConvertPadUpdateConversionInfoMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "useFixedCaps" o = Gst.Pad.PadUseFixedCapsMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getAllowedCaps" o = Gst.Pad.PadGetAllowedCapsMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getCurrentBuffer" o = GstVideo.VideoAggregatorPad.VideoAggregatorPadGetCurrentBufferMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getCurrentCaps" o = Gst.Pad.PadGetCurrentCapsMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getDirection" o = Gst.Pad.PadGetDirectionMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getElementPrivate" o = Gst.Pad.PadGetElementPrivateMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getLastFlowReturn" o = Gst.Pad.PadGetLastFlowReturnMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getOffset" o = Gst.Pad.PadGetOffsetMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getPadTemplate" o = Gst.Pad.PadGetPadTemplateMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getPadTemplateCaps" o = Gst.Pad.PadGetPadTemplateCapsMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getParentElement" o = Gst.Pad.PadGetParentElementMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getPeer" o = Gst.Pad.PadGetPeerMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getPreparedFrame" o = GstVideo.VideoAggregatorPad.VideoAggregatorPadGetPreparedFrameMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getRange" o = Gst.Pad.PadGetRangeMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getSingleInternalLink" o = Gst.Pad.PadGetSingleInternalLinkMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getStickyEvent" o = Gst.Pad.PadGetStickyEventMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getStream" o = Gst.Pad.PadGetStreamMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getStreamId" o = Gst.Pad.PadGetStreamIdMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getTaskState" o = Gst.Pad.PadGetTaskStateMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setActivateFunctionFull" o = Gst.Pad.PadSetActivateFunctionFullMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setActivatemodeFunctionFull" o = Gst.Pad.PadSetActivatemodeFunctionFullMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setActive" o = Gst.Pad.PadSetActiveMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setChainFunctionFull" o = Gst.Pad.PadSetChainFunctionFullMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setChainListFunctionFull" o = Gst.Pad.PadSetChainListFunctionFullMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setElementPrivate" o = Gst.Pad.PadSetElementPrivateMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setEventFullFunctionFull" o = Gst.Pad.PadSetEventFullFunctionFullMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setEventFunctionFull" o = Gst.Pad.PadSetEventFunctionFullMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setGetrangeFunctionFull" o = Gst.Pad.PadSetGetrangeFunctionFullMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setIterateInternalLinksFunctionFull" o = Gst.Pad.PadSetIterateInternalLinksFunctionFullMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setLinkFunctionFull" o = Gst.Pad.PadSetLinkFunctionFullMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setNeedsAlpha" o = GstVideo.VideoAggregatorPad.VideoAggregatorPadSetNeedsAlphaMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setOffset" o = Gst.Pad.PadSetOffsetMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setQueryFunctionFull" o = Gst.Pad.PadSetQueryFunctionFullMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod "setUnlinkFunctionFull" o = Gst.Pad.PadSetUnlinkFunctionFullMethodInfo
    ResolveVideoAggregatorParallelConvertPadMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveVideoAggregatorParallelConvertPadMethod t VideoAggregatorParallelConvertPad, O.OverloadedMethod info VideoAggregatorParallelConvertPad p) => OL.IsLabel t (VideoAggregatorParallelConvertPad -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod @info
#else
    fromLabel _ = O.overloadedMethod @info
#endif

#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveVideoAggregatorParallelConvertPadMethod t VideoAggregatorParallelConvertPad, O.OverloadedMethod info VideoAggregatorParallelConvertPad p, R.HasField t VideoAggregatorParallelConvertPad p) => R.HasField t VideoAggregatorParallelConvertPad p where
    getField = O.overloadedMethod @info

#endif

instance (info ~ ResolveVideoAggregatorParallelConvertPadMethod t VideoAggregatorParallelConvertPad, O.OverloadedMethodInfo info VideoAggregatorParallelConvertPad) => OL.IsLabel t (O.MethodProxy info VideoAggregatorParallelConvertPad) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.MethodProxy
#else
    fromLabel _ = O.MethodProxy
#endif

#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList VideoAggregatorParallelConvertPad
type instance O.AttributeList VideoAggregatorParallelConvertPad = VideoAggregatorParallelConvertPadAttributeList
type VideoAggregatorParallelConvertPadAttributeList = ('[ '("caps", Gst.Pad.PadCapsPropertyInfo), '("converterConfig", GstVideo.VideoAggregatorConvertPad.VideoAggregatorConvertPadConverterConfigPropertyInfo), '("direction", Gst.Pad.PadDirectionPropertyInfo), '("emitSignals", GstBase.AggregatorPad.AggregatorPadEmitSignalsPropertyInfo), '("maxLastBufferRepeat", GstVideo.VideoAggregatorPad.VideoAggregatorPadMaxLastBufferRepeatPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("offset", Gst.Pad.PadOffsetPropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("repeatAfterEos", GstVideo.VideoAggregatorPad.VideoAggregatorPadRepeatAfterEosPropertyInfo), '("template", Gst.Pad.PadTemplatePropertyInfo), '("zorder", GstVideo.VideoAggregatorPad.VideoAggregatorPadZorderPropertyInfo)] :: [(Symbol, DK.Type)])
#endif

#if defined(ENABLE_OVERLOADING)
#endif

#if defined(ENABLE_OVERLOADING)
type instance O.SignalList VideoAggregatorParallelConvertPad = VideoAggregatorParallelConvertPadSignalList
type VideoAggregatorParallelConvertPadSignalList = ('[ '("bufferConsumed", GstBase.AggregatorPad.AggregatorPadBufferConsumedSignalInfo), '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("linked", Gst.Pad.PadLinkedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("unlinked", Gst.Pad.PadUnlinkedSignalInfo)] :: [(Symbol, DK.Type)])

#endif