#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.GstVideo.Objects.VideoSink
(
VideoSink(..) ,
IsVideoSink ,
toVideoSink ,
noVideoSink ,
videoSinkCenterRect ,
#if ENABLE_OVERLOADING
VideoSinkShowPrerollFramePropertyInfo ,
#endif
constructVideoSinkShowPrerollFrame ,
getVideoSinkShowPrerollFrame ,
setVideoSinkShowPrerollFrame ,
#if ENABLE_OVERLOADING
videoSinkShowPrerollFrame ,
#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.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
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.Text as T
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 GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gst.Objects.Element as Gst.Element
import qualified GI.Gst.Objects.Object as Gst.Object
import qualified GI.GstBase.Objects.BaseSink as GstBase.BaseSink
import {-# SOURCE #-} qualified GI.GstVideo.Structs.VideoRectangle as GstVideo.VideoRectangle
newtype VideoSink = VideoSink (ManagedPtr VideoSink)
foreign import ccall "gst_video_sink_get_type"
c_gst_video_sink_get_type :: IO GType
instance GObject VideoSink where
gobjectType = c_gst_video_sink_get_type
class (GObject o, O.IsDescendantOf VideoSink o) => IsVideoSink o
instance (GObject o, O.IsDescendantOf VideoSink o) => IsVideoSink o
instance O.HasParentTypes VideoSink
type instance O.ParentTypes VideoSink = '[GstBase.BaseSink.BaseSink, Gst.Element.Element, Gst.Object.Object, GObject.Object.Object]
toVideoSink :: (MonadIO m, IsVideoSink o) => o -> m VideoSink
toVideoSink = liftIO . unsafeCastTo VideoSink
noVideoSink :: Maybe VideoSink
noVideoSink = Nothing
#if ENABLE_OVERLOADING
type family ResolveVideoSinkMethod (t :: Symbol) (o :: *) :: * where
ResolveVideoSinkMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo
ResolveVideoSinkMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveVideoSinkMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo
ResolveVideoSinkMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo
ResolveVideoSinkMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo
ResolveVideoSinkMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveVideoSinkMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveVideoSinkMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo
ResolveVideoSinkMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo
ResolveVideoSinkMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo
ResolveVideoSinkMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo
ResolveVideoSinkMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveVideoSinkMethod "doPreroll" o = GstBase.BaseSink.BaseSinkDoPrerollMethodInfo
ResolveVideoSinkMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveVideoSinkMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo
ResolveVideoSinkMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo
ResolveVideoSinkMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo
ResolveVideoSinkMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveVideoSinkMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveVideoSinkMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveVideoSinkMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveVideoSinkMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveVideoSinkMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveVideoSinkMethod "isAsyncEnabled" o = GstBase.BaseSink.BaseSinkIsAsyncEnabledMethodInfo
ResolveVideoSinkMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveVideoSinkMethod "isLastSampleEnabled" o = GstBase.BaseSink.BaseSinkIsLastSampleEnabledMethodInfo
ResolveVideoSinkMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo
ResolveVideoSinkMethod "isQosEnabled" o = GstBase.BaseSink.BaseSinkIsQosEnabledMethodInfo
ResolveVideoSinkMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo
ResolveVideoSinkMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo
ResolveVideoSinkMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo
ResolveVideoSinkMethod "link" o = Gst.Element.ElementLinkMethodInfo
ResolveVideoSinkMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo
ResolveVideoSinkMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo
ResolveVideoSinkMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo
ResolveVideoSinkMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo
ResolveVideoSinkMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo
ResolveVideoSinkMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo
ResolveVideoSinkMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo
ResolveVideoSinkMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo
ResolveVideoSinkMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveVideoSinkMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveVideoSinkMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo
ResolveVideoSinkMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo
ResolveVideoSinkMethod "query" o = Gst.Element.ElementQueryMethodInfo
ResolveVideoSinkMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo
ResolveVideoSinkMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo
ResolveVideoSinkMethod "queryLatency" o = GstBase.BaseSink.BaseSinkQueryLatencyMethodInfo
ResolveVideoSinkMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo
ResolveVideoSinkMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveVideoSinkMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveVideoSinkMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo
ResolveVideoSinkMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveVideoSinkMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo
ResolveVideoSinkMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo
ResolveVideoSinkMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo
ResolveVideoSinkMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveVideoSinkMethod "seek" o = Gst.Element.ElementSeekMethodInfo
ResolveVideoSinkMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo
ResolveVideoSinkMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo
ResolveVideoSinkMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveVideoSinkMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveVideoSinkMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveVideoSinkMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo
ResolveVideoSinkMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolveVideoSinkMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveVideoSinkMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo
ResolveVideoSinkMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo
ResolveVideoSinkMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveVideoSinkMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveVideoSinkMethod "wait" o = GstBase.BaseSink.BaseSinkWaitMethodInfo
ResolveVideoSinkMethod "waitClock" o = GstBase.BaseSink.BaseSinkWaitClockMethodInfo
ResolveVideoSinkMethod "waitPreroll" o = GstBase.BaseSink.BaseSinkWaitPrerollMethodInfo
ResolveVideoSinkMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveVideoSinkMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo
ResolveVideoSinkMethod "getBlocksize" o = GstBase.BaseSink.BaseSinkGetBlocksizeMethodInfo
ResolveVideoSinkMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo
ResolveVideoSinkMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo
ResolveVideoSinkMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo
ResolveVideoSinkMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo
ResolveVideoSinkMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo
ResolveVideoSinkMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo
ResolveVideoSinkMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo
ResolveVideoSinkMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveVideoSinkMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveVideoSinkMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveVideoSinkMethod "getDropOutOfSegment" o = GstBase.BaseSink.BaseSinkGetDropOutOfSegmentMethodInfo
ResolveVideoSinkMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo
ResolveVideoSinkMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolveVideoSinkMethod "getLastSample" o = GstBase.BaseSink.BaseSinkGetLastSampleMethodInfo
ResolveVideoSinkMethod "getLatency" o = GstBase.BaseSink.BaseSinkGetLatencyMethodInfo
ResolveVideoSinkMethod "getMaxBitrate" o = GstBase.BaseSink.BaseSinkGetMaxBitrateMethodInfo
ResolveVideoSinkMethod "getMaxLateness" o = GstBase.BaseSink.BaseSinkGetMaxLatenessMethodInfo
ResolveVideoSinkMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo
ResolveVideoSinkMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveVideoSinkMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo
ResolveVideoSinkMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo
ResolveVideoSinkMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveVideoSinkMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveVideoSinkMethod "getProcessingDeadline" o = GstBase.BaseSink.BaseSinkGetProcessingDeadlineMethodInfo
ResolveVideoSinkMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveVideoSinkMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveVideoSinkMethod "getRenderDelay" o = GstBase.BaseSink.BaseSinkGetRenderDelayMethodInfo
ResolveVideoSinkMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo
ResolveVideoSinkMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo
ResolveVideoSinkMethod "getState" o = Gst.Element.ElementGetStateMethodInfo
ResolveVideoSinkMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo
ResolveVideoSinkMethod "getSync" o = GstBase.BaseSink.BaseSinkGetSyncMethodInfo
ResolveVideoSinkMethod "getThrottleTime" o = GstBase.BaseSink.BaseSinkGetThrottleTimeMethodInfo
ResolveVideoSinkMethod "getTsOffset" o = GstBase.BaseSink.BaseSinkGetTsOffsetMethodInfo
ResolveVideoSinkMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolveVideoSinkMethod "setAsyncEnabled" o = GstBase.BaseSink.BaseSinkSetAsyncEnabledMethodInfo
ResolveVideoSinkMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo
ResolveVideoSinkMethod "setBlocksize" o = GstBase.BaseSink.BaseSinkSetBlocksizeMethodInfo
ResolveVideoSinkMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo
ResolveVideoSinkMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo
ResolveVideoSinkMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo
ResolveVideoSinkMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveVideoSinkMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveVideoSinkMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveVideoSinkMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveVideoSinkMethod "setDropOutOfSegment" o = GstBase.BaseSink.BaseSinkSetDropOutOfSegmentMethodInfo
ResolveVideoSinkMethod "setLastSampleEnabled" o = GstBase.BaseSink.BaseSinkSetLastSampleEnabledMethodInfo
ResolveVideoSinkMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo
ResolveVideoSinkMethod "setMaxBitrate" o = GstBase.BaseSink.BaseSinkSetMaxBitrateMethodInfo
ResolveVideoSinkMethod "setMaxLateness" o = GstBase.BaseSink.BaseSinkSetMaxLatenessMethodInfo
ResolveVideoSinkMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveVideoSinkMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveVideoSinkMethod "setProcessingDeadline" o = GstBase.BaseSink.BaseSinkSetProcessingDeadlineMethodInfo
ResolveVideoSinkMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveVideoSinkMethod "setQosEnabled" o = GstBase.BaseSink.BaseSinkSetQosEnabledMethodInfo
ResolveVideoSinkMethod "setRenderDelay" o = GstBase.BaseSink.BaseSinkSetRenderDelayMethodInfo
ResolveVideoSinkMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo
ResolveVideoSinkMethod "setState" o = Gst.Element.ElementSetStateMethodInfo
ResolveVideoSinkMethod "setSync" o = GstBase.BaseSink.BaseSinkSetSyncMethodInfo
ResolveVideoSinkMethod "setThrottleTime" o = GstBase.BaseSink.BaseSinkSetThrottleTimeMethodInfo
ResolveVideoSinkMethod "setTsOffset" o = GstBase.BaseSink.BaseSinkSetTsOffsetMethodInfo
ResolveVideoSinkMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveVideoSinkMethod t VideoSink, O.MethodInfo info VideoSink p) => OL.IsLabel t (VideoSink -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
getVideoSinkShowPrerollFrame :: (MonadIO m, IsVideoSink o) => o -> m Bool
getVideoSinkShowPrerollFrame obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-preroll-frame"
setVideoSinkShowPrerollFrame :: (MonadIO m, IsVideoSink o) => o -> Bool -> m ()
setVideoSinkShowPrerollFrame obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-preroll-frame" val
constructVideoSinkShowPrerollFrame :: (IsVideoSink o) => Bool -> IO (GValueConstruct o)
constructVideoSinkShowPrerollFrame val = B.Properties.constructObjectPropertyBool "show-preroll-frame" val
#if ENABLE_OVERLOADING
data VideoSinkShowPrerollFramePropertyInfo
instance AttrInfo VideoSinkShowPrerollFramePropertyInfo where
type AttrAllowedOps VideoSinkShowPrerollFramePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint VideoSinkShowPrerollFramePropertyInfo = (~) Bool
type AttrBaseTypeConstraint VideoSinkShowPrerollFramePropertyInfo = IsVideoSink
type AttrGetType VideoSinkShowPrerollFramePropertyInfo = Bool
type AttrLabel VideoSinkShowPrerollFramePropertyInfo = "show-preroll-frame"
type AttrOrigin VideoSinkShowPrerollFramePropertyInfo = VideoSink
attrGet _ = getVideoSinkShowPrerollFrame
attrSet _ = setVideoSinkShowPrerollFrame
attrConstruct _ = constructVideoSinkShowPrerollFrame
attrClear _ = undefined
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList VideoSink
type instance O.AttributeList VideoSink = VideoSinkAttributeList
type VideoSinkAttributeList = ('[ '("async", GstBase.BaseSink.BaseSinkAsyncPropertyInfo), '("blocksize", GstBase.BaseSink.BaseSinkBlocksizePropertyInfo), '("enableLastSample", GstBase.BaseSink.BaseSinkEnableLastSamplePropertyInfo), '("lastSample", GstBase.BaseSink.BaseSinkLastSamplePropertyInfo), '("maxBitrate", GstBase.BaseSink.BaseSinkMaxBitratePropertyInfo), '("maxLateness", GstBase.BaseSink.BaseSinkMaxLatenessPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("processingDeadline", GstBase.BaseSink.BaseSinkProcessingDeadlinePropertyInfo), '("qos", GstBase.BaseSink.BaseSinkQosPropertyInfo), '("renderDelay", GstBase.BaseSink.BaseSinkRenderDelayPropertyInfo), '("showPrerollFrame", VideoSinkShowPrerollFramePropertyInfo), '("sync", GstBase.BaseSink.BaseSinkSyncPropertyInfo), '("throttleTime", GstBase.BaseSink.BaseSinkThrottleTimePropertyInfo), '("tsOffset", GstBase.BaseSink.BaseSinkTsOffsetPropertyInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
videoSinkShowPrerollFrame :: AttrLabelProxy "showPrerollFrame"
videoSinkShowPrerollFrame = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList VideoSink = VideoSinkSignalList
type VideoSinkSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_video_sink_center_rect" gst_video_sink_center_rect ::
Ptr GstVideo.VideoRectangle.VideoRectangle ->
Ptr GstVideo.VideoRectangle.VideoRectangle ->
Ptr GstVideo.VideoRectangle.VideoRectangle ->
CInt ->
IO ()
videoSinkCenterRect ::
(B.CallStack.HasCallStack, MonadIO m) =>
GstVideo.VideoRectangle.VideoRectangle
-> GstVideo.VideoRectangle.VideoRectangle
-> GstVideo.VideoRectangle.VideoRectangle
-> Bool
-> m ()
videoSinkCenterRect src dst result_ scaling = liftIO $ do
src' <- unsafeManagedPtrGetPtr src
dst' <- unsafeManagedPtrGetPtr dst
result_' <- unsafeManagedPtrGetPtr result_
let scaling' = (fromIntegral . fromEnum) scaling
gst_video_sink_center_rect src' dst' result_' scaling'
touchManagedPtr src
touchManagedPtr dst
touchManagedPtr result_
return ()
#if ENABLE_OVERLOADING
#endif