{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstVideo.Objects.VideoSink
(
VideoSink(..) ,
IsVideoSink ,
toVideoSink ,
#if defined(ENABLE_OVERLOADING)
ResolveVideoSinkMethod ,
#endif
videoSinkCenterRect ,
#if defined(ENABLE_OVERLOADING)
VideoSinkShowPrerollFramePropertyInfo ,
#endif
constructVideoSinkShowPrerollFrame ,
getVideoSinkShowPrerollFrame ,
setVideoSinkShowPrerollFrame ,
#if defined(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.BasicTypes as B.Types
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.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
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 (SP.ManagedPtr VideoSink)
deriving (VideoSink -> VideoSink -> Bool
(VideoSink -> VideoSink -> Bool)
-> (VideoSink -> VideoSink -> Bool) -> Eq VideoSink
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VideoSink -> VideoSink -> Bool
$c/= :: VideoSink -> VideoSink -> Bool
== :: VideoSink -> VideoSink -> Bool
$c== :: VideoSink -> VideoSink -> Bool
Eq)
instance SP.ManagedPtrNewtype VideoSink where
toManagedPtr :: VideoSink -> ManagedPtr VideoSink
toManagedPtr (VideoSink ManagedPtr VideoSink
p) = ManagedPtr VideoSink
p
foreign import ccall "gst_video_sink_get_type"
c_gst_video_sink_get_type :: IO B.Types.GType
instance B.Types.TypedObject VideoSink where
glibType :: IO GType
glibType = IO GType
c_gst_video_sink_get_type
instance B.Types.GObject VideoSink
instance B.GValue.IsGValue VideoSink where
toGValue :: VideoSink -> IO GValue
toGValue VideoSink
o = do
GType
gtype <- IO GType
c_gst_video_sink_get_type
VideoSink -> (Ptr VideoSink -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr VideoSink
o (GType
-> (GValue -> Ptr VideoSink -> IO ()) -> Ptr VideoSink -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr VideoSink -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO VideoSink
fromGValue GValue
gv = do
Ptr VideoSink
ptr <- GValue -> IO (Ptr VideoSink)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr VideoSink)
(ManagedPtr VideoSink -> VideoSink)
-> Ptr VideoSink -> IO VideoSink
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr VideoSink -> VideoSink
VideoSink Ptr VideoSink
ptr
class (SP.GObject o, O.IsDescendantOf VideoSink o) => IsVideoSink o
instance (SP.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 :: o -> m VideoSink
toVideoSink = IO VideoSink -> m VideoSink
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO VideoSink -> m VideoSink)
-> (o -> IO VideoSink) -> o -> m VideoSink
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr VideoSink -> VideoSink) -> o -> IO VideoSink
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr VideoSink -> VideoSink
VideoSink
#if defined(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 "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
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 @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
getVideoSinkShowPrerollFrame :: (MonadIO m, IsVideoSink o) => o -> m Bool
getVideoSinkShowPrerollFrame :: o -> m Bool
getVideoSinkShowPrerollFrame o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"show-preroll-frame"
setVideoSinkShowPrerollFrame :: (MonadIO m, IsVideoSink o) => o -> Bool -> m ()
setVideoSinkShowPrerollFrame :: o -> Bool -> m ()
setVideoSinkShowPrerollFrame o
obj Bool
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"show-preroll-frame" Bool
val
constructVideoSinkShowPrerollFrame :: (IsVideoSink o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructVideoSinkShowPrerollFrame :: Bool -> m (GValueConstruct o)
constructVideoSinkShowPrerollFrame Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"show-preroll-frame" Bool
val
#if defined(ENABLE_OVERLOADING)
data VideoSinkShowPrerollFramePropertyInfo
instance AttrInfo VideoSinkShowPrerollFramePropertyInfo where
type AttrAllowedOps VideoSinkShowPrerollFramePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint VideoSinkShowPrerollFramePropertyInfo = IsVideoSink
type AttrSetTypeConstraint VideoSinkShowPrerollFramePropertyInfo = (~) Bool
type AttrTransferTypeConstraint VideoSinkShowPrerollFramePropertyInfo = (~) Bool
type AttrTransferType VideoSinkShowPrerollFramePropertyInfo = Bool
type AttrGetType VideoSinkShowPrerollFramePropertyInfo = Bool
type AttrLabel VideoSinkShowPrerollFramePropertyInfo = "show-preroll-frame"
type AttrOrigin VideoSinkShowPrerollFramePropertyInfo = VideoSink
attrGet = getVideoSinkShowPrerollFrame
attrSet = setVideoSinkShowPrerollFrame
attrTransfer _ v = do
return v
attrConstruct = constructVideoSinkShowPrerollFrame
attrClear = undefined
#endif
#if defined(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 defined(ENABLE_OVERLOADING)
videoSinkShowPrerollFrame :: AttrLabelProxy "showPrerollFrame"
videoSinkShowPrerollFrame = AttrLabelProxy
#endif
#if defined(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 :: VideoRectangle -> VideoRectangle -> VideoRectangle -> Bool -> m ()
videoSinkCenterRect VideoRectangle
src VideoRectangle
dst VideoRectangle
result_ Bool
scaling = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr VideoRectangle
src' <- VideoRectangle -> IO (Ptr VideoRectangle)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr VideoRectangle
src
Ptr VideoRectangle
dst' <- VideoRectangle -> IO (Ptr VideoRectangle)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr VideoRectangle
dst
Ptr VideoRectangle
result_' <- VideoRectangle -> IO (Ptr VideoRectangle)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr VideoRectangle
result_
let scaling' :: CInt
scaling' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
scaling
Ptr VideoRectangle
-> Ptr VideoRectangle -> Ptr VideoRectangle -> CInt -> IO ()
gst_video_sink_center_rect Ptr VideoRectangle
src' Ptr VideoRectangle
dst' Ptr VideoRectangle
result_' CInt
scaling'
VideoRectangle -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr VideoRectangle
src
VideoRectangle -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr VideoRectangle
dst
VideoRectangle -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr VideoRectangle
result_
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
#endif