{- | 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 opaque base class object for all encoding profiles. This contains generic information like name, description, format and preset. -} module GI.GstPbutils.Objects.EncodingProfile ( -- * Exported types EncodingProfile(..) , IsEncodingProfile , toEncodingProfile , noEncodingProfile , -- * Methods -- ** find #method:find# encodingProfileFind , -- ** fromDiscoverer #method:fromDiscoverer# encodingProfileFromDiscoverer , -- ** getAllowDynamicOutput #method:getAllowDynamicOutput# EncodingProfileGetAllowDynamicOutputMethodInfo, encodingProfileGetAllowDynamicOutput , -- ** getDescription #method:getDescription# EncodingProfileGetDescriptionMethodInfo , encodingProfileGetDescription , -- ** getFileExtension #method:getFileExtension# EncodingProfileGetFileExtensionMethodInfo, encodingProfileGetFileExtension , -- ** getFormat #method:getFormat# EncodingProfileGetFormatMethodInfo , encodingProfileGetFormat , -- ** getInputCaps #method:getInputCaps# EncodingProfileGetInputCapsMethodInfo , encodingProfileGetInputCaps , -- ** getName #method:getName# EncodingProfileGetNameMethodInfo , encodingProfileGetName , -- ** getPresence #method:getPresence# EncodingProfileGetPresenceMethodInfo , encodingProfileGetPresence , -- ** getPreset #method:getPreset# EncodingProfileGetPresetMethodInfo , encodingProfileGetPreset , -- ** getPresetName #method:getPresetName# EncodingProfileGetPresetNameMethodInfo , encodingProfileGetPresetName , -- ** getRestriction #method:getRestriction# EncodingProfileGetRestrictionMethodInfo , encodingProfileGetRestriction , -- ** getTypeNick #method:getTypeNick# EncodingProfileGetTypeNickMethodInfo , encodingProfileGetTypeNick , -- ** isEnabled #method:isEnabled# EncodingProfileIsEnabledMethodInfo , encodingProfileIsEnabled , -- ** isEqual #method:isEqual# EncodingProfileIsEqualMethodInfo , encodingProfileIsEqual , -- ** setAllowDynamicOutput #method:setAllowDynamicOutput# EncodingProfileSetAllowDynamicOutputMethodInfo, encodingProfileSetAllowDynamicOutput , -- ** setDescription #method:setDescription# EncodingProfileSetDescriptionMethodInfo , encodingProfileSetDescription , -- ** setEnabled #method:setEnabled# EncodingProfileSetEnabledMethodInfo , encodingProfileSetEnabled , -- ** setFormat #method:setFormat# EncodingProfileSetFormatMethodInfo , encodingProfileSetFormat , -- ** setName #method:setName# EncodingProfileSetNameMethodInfo , encodingProfileSetName , -- ** setPresence #method:setPresence# EncodingProfileSetPresenceMethodInfo , encodingProfileSetPresence , -- ** setPreset #method:setPreset# EncodingProfileSetPresetMethodInfo , encodingProfileSetPreset , -- ** setPresetName #method:setPresetName# EncodingProfileSetPresetNameMethodInfo , encodingProfileSetPresetName , -- ** setRestriction #method:setRestriction# EncodingProfileSetRestrictionMethodInfo , encodingProfileSetRestriction , -- * Properties -- ** restrictionCaps #attr:restrictionCaps# EncodingProfileRestrictionCapsPropertyInfo, clearEncodingProfileRestrictionCaps , constructEncodingProfileRestrictionCaps , encodingProfileRestrictionCaps , getEncodingProfileRestrictionCaps , setEncodingProfileRestrictionCaps , ) 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.GError as B.GError import qualified Data.GI.Base.GVariant as B.GVariant import qualified Data.GI.Base.GParamSpec as B.GParamSpec import qualified Data.GI.Base.CallStack as B.CallStack 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 GI.GObject.Objects.Object as GObject.Object import qualified GI.Gst.Structs.Caps as Gst.Caps import {-# SOURCE #-} qualified GI.GstPbutils.Objects.DiscovererInfo as GstPbutils.DiscovererInfo newtype EncodingProfile = EncodingProfile (ManagedPtr EncodingProfile) foreign import ccall "gst_encoding_profile_get_type" c_gst_encoding_profile_get_type :: IO GType instance GObject EncodingProfile where gobjectType _ = c_gst_encoding_profile_get_type class GObject o => IsEncodingProfile o #if MIN_VERSION_base(4,9,0) instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError EncodingProfile a) => IsEncodingProfile a #endif instance IsEncodingProfile EncodingProfile instance GObject.Object.IsObject EncodingProfile toEncodingProfile :: IsEncodingProfile o => o -> IO EncodingProfile toEncodingProfile = unsafeCastTo EncodingProfile noEncodingProfile :: Maybe EncodingProfile noEncodingProfile = Nothing type family ResolveEncodingProfileMethod (t :: Symbol) (o :: *) :: * where ResolveEncodingProfileMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo ResolveEncodingProfileMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo ResolveEncodingProfileMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo ResolveEncodingProfileMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo ResolveEncodingProfileMethod "isEnabled" o = EncodingProfileIsEnabledMethodInfo ResolveEncodingProfileMethod "isEqual" o = EncodingProfileIsEqualMethodInfo ResolveEncodingProfileMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo ResolveEncodingProfileMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo ResolveEncodingProfileMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo ResolveEncodingProfileMethod "ref" o = GObject.Object.ObjectRefMethodInfo ResolveEncodingProfileMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo ResolveEncodingProfileMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo ResolveEncodingProfileMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo ResolveEncodingProfileMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo ResolveEncodingProfileMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo ResolveEncodingProfileMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo ResolveEncodingProfileMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo ResolveEncodingProfileMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo ResolveEncodingProfileMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo ResolveEncodingProfileMethod "getAllowDynamicOutput" o = EncodingProfileGetAllowDynamicOutputMethodInfo ResolveEncodingProfileMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo ResolveEncodingProfileMethod "getDescription" o = EncodingProfileGetDescriptionMethodInfo ResolveEncodingProfileMethod "getFileExtension" o = EncodingProfileGetFileExtensionMethodInfo ResolveEncodingProfileMethod "getFormat" o = EncodingProfileGetFormatMethodInfo ResolveEncodingProfileMethod "getInputCaps" o = EncodingProfileGetInputCapsMethodInfo ResolveEncodingProfileMethod "getName" o = EncodingProfileGetNameMethodInfo ResolveEncodingProfileMethod "getPresence" o = EncodingProfileGetPresenceMethodInfo ResolveEncodingProfileMethod "getPreset" o = EncodingProfileGetPresetMethodInfo ResolveEncodingProfileMethod "getPresetName" o = EncodingProfileGetPresetNameMethodInfo ResolveEncodingProfileMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo ResolveEncodingProfileMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo ResolveEncodingProfileMethod "getRestriction" o = EncodingProfileGetRestrictionMethodInfo ResolveEncodingProfileMethod "getTypeNick" o = EncodingProfileGetTypeNickMethodInfo ResolveEncodingProfileMethod "setAllowDynamicOutput" o = EncodingProfileSetAllowDynamicOutputMethodInfo ResolveEncodingProfileMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo ResolveEncodingProfileMethod "setDescription" o = EncodingProfileSetDescriptionMethodInfo ResolveEncodingProfileMethod "setEnabled" o = EncodingProfileSetEnabledMethodInfo ResolveEncodingProfileMethod "setFormat" o = EncodingProfileSetFormatMethodInfo ResolveEncodingProfileMethod "setName" o = EncodingProfileSetNameMethodInfo ResolveEncodingProfileMethod "setPresence" o = EncodingProfileSetPresenceMethodInfo ResolveEncodingProfileMethod "setPreset" o = EncodingProfileSetPresetMethodInfo ResolveEncodingProfileMethod "setPresetName" o = EncodingProfileSetPresetNameMethodInfo ResolveEncodingProfileMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo ResolveEncodingProfileMethod "setRestriction" o = EncodingProfileSetRestrictionMethodInfo ResolveEncodingProfileMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveEncodingProfileMethod t EncodingProfile, O.MethodInfo info EncodingProfile p) => O.IsLabelProxy t (EncodingProfile -> p) where fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #if MIN_VERSION_base(4,9,0) instance (info ~ ResolveEncodingProfileMethod t EncodingProfile, O.MethodInfo info EncodingProfile p) => O.IsLabel t (EncodingProfile -> p) where fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #endif -- VVV Prop "restriction-caps" -- Type: TInterface (Name {namespace = "Gst", name = "Caps"}) -- Flags: [PropertyReadable,PropertyWritable] -- Nullable: (Nothing,Nothing) getEncodingProfileRestrictionCaps :: (MonadIO m, IsEncodingProfile o) => o -> m (Maybe Gst.Caps.Caps) getEncodingProfileRestrictionCaps obj = liftIO $ getObjectPropertyBoxed obj "restriction-caps" Gst.Caps.Caps setEncodingProfileRestrictionCaps :: (MonadIO m, IsEncodingProfile o) => o -> Gst.Caps.Caps -> m () setEncodingProfileRestrictionCaps obj val = liftIO $ setObjectPropertyBoxed obj "restriction-caps" (Just val) constructEncodingProfileRestrictionCaps :: (IsEncodingProfile o) => Gst.Caps.Caps -> IO (GValueConstruct o) constructEncodingProfileRestrictionCaps val = constructObjectPropertyBoxed "restriction-caps" (Just val) clearEncodingProfileRestrictionCaps :: (MonadIO m, IsEncodingProfile o) => o -> m () clearEncodingProfileRestrictionCaps obj = liftIO $ setObjectPropertyBoxed obj "restriction-caps" (Nothing :: Maybe Gst.Caps.Caps) data EncodingProfileRestrictionCapsPropertyInfo instance AttrInfo EncodingProfileRestrictionCapsPropertyInfo where type AttrAllowedOps EncodingProfileRestrictionCapsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear] type AttrSetTypeConstraint EncodingProfileRestrictionCapsPropertyInfo = (~) Gst.Caps.Caps type AttrBaseTypeConstraint EncodingProfileRestrictionCapsPropertyInfo = IsEncodingProfile type AttrGetType EncodingProfileRestrictionCapsPropertyInfo = (Maybe Gst.Caps.Caps) type AttrLabel EncodingProfileRestrictionCapsPropertyInfo = "restriction-caps" type AttrOrigin EncodingProfileRestrictionCapsPropertyInfo = EncodingProfile attrGet _ = getEncodingProfileRestrictionCaps attrSet _ = setEncodingProfileRestrictionCaps attrConstruct _ = constructEncodingProfileRestrictionCaps attrClear _ = clearEncodingProfileRestrictionCaps instance O.HasAttributeList EncodingProfile type instance O.AttributeList EncodingProfile = EncodingProfileAttributeList type EncodingProfileAttributeList = ('[ '("restrictionCaps", EncodingProfileRestrictionCapsPropertyInfo)] :: [(Symbol, *)]) encodingProfileRestrictionCaps :: AttrLabelProxy "restrictionCaps" encodingProfileRestrictionCaps = AttrLabelProxy type instance O.SignalList EncodingProfile = EncodingProfileSignalList type EncodingProfileSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)]) -- method EncodingProfile::get_allow_dynamic_output -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_get_allow_dynamic_output" gst_encoding_profile_get_allow_dynamic_output :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) IO CInt {- | Get whether the format that has been negotiated in at some point can be renegotiated later during the encoding. -} encodingProfileGetAllowDynamicOutput :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> m Bool encodingProfileGetAllowDynamicOutput profile = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile result <- gst_encoding_profile_get_allow_dynamic_output profile' let result' = (/= 0) result touchManagedPtr profile return result' data EncodingProfileGetAllowDynamicOutputMethodInfo instance (signature ~ (m Bool), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetAllowDynamicOutputMethodInfo a signature where overloadedMethod _ = encodingProfileGetAllowDynamicOutput -- method EncodingProfile::get_description -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_get_description" gst_encoding_profile_get_description :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) IO CString {- | /No description available in the introspection data./ -} encodingProfileGetDescription :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> m T.Text {- ^ __Returns:__ the description of the profile, can be 'Nothing'. -} encodingProfileGetDescription profile = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile result <- gst_encoding_profile_get_description profile' checkUnexpectedReturnNULL "encodingProfileGetDescription" result result' <- cstringToText result touchManagedPtr profile return result' data EncodingProfileGetDescriptionMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetDescriptionMethodInfo a signature where overloadedMethod _ = encodingProfileGetDescription -- method EncodingProfile::get_file_extension -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_get_file_extension" gst_encoding_profile_get_file_extension :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) IO CString {- | /No description available in the introspection data./ -} encodingProfileGetFileExtension :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> m T.Text {- ^ __Returns:__ a suitable file extension for /@profile@/, or NULL. -} encodingProfileGetFileExtension profile = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile result <- gst_encoding_profile_get_file_extension profile' checkUnexpectedReturnNULL "encodingProfileGetFileExtension" result result' <- cstringToText result touchManagedPtr profile return result' data EncodingProfileGetFileExtensionMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetFileExtensionMethodInfo a signature where overloadedMethod _ = encodingProfileGetFileExtension -- method EncodingProfile::get_format -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"})) -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_get_format" gst_encoding_profile_get_format :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) IO (Ptr Gst.Caps.Caps) {- | /No description available in the introspection data./ -} encodingProfileGetFormat :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> m Gst.Caps.Caps {- ^ __Returns:__ the 'GI.Gst.Structs.Caps.Caps' corresponding to the media format used in the profile. Unref after usage. -} encodingProfileGetFormat profile = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile result <- gst_encoding_profile_get_format profile' checkUnexpectedReturnNULL "encodingProfileGetFormat" result result' <- (wrapBoxed Gst.Caps.Caps) result touchManagedPtr profile return result' data EncodingProfileGetFormatMethodInfo instance (signature ~ (m Gst.Caps.Caps), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetFormatMethodInfo a signature where overloadedMethod _ = encodingProfileGetFormat -- method EncodingProfile::get_input_caps -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"})) -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_get_input_caps" gst_encoding_profile_get_input_caps :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) IO (Ptr Gst.Caps.Caps) {- | Computes the full output caps that this /@profile@/ will be able to consume. -} encodingProfileGetInputCaps :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> m Gst.Caps.Caps {- ^ __Returns:__ The full caps the given /@profile@/ can consume. Call @/gst_caps_unref()/@ when you are done with the caps. -} encodingProfileGetInputCaps profile = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile result <- gst_encoding_profile_get_input_caps profile' checkUnexpectedReturnNULL "encodingProfileGetInputCaps" result result' <- (wrapBoxed Gst.Caps.Caps) result touchManagedPtr profile return result' data EncodingProfileGetInputCapsMethodInfo instance (signature ~ (m Gst.Caps.Caps), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetInputCapsMethodInfo a signature where overloadedMethod _ = encodingProfileGetInputCaps -- method EncodingProfile::get_name -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_get_name" gst_encoding_profile_get_name :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) IO CString {- | /No description available in the introspection data./ -} encodingProfileGetName :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> m T.Text {- ^ __Returns:__ the name of the profile, can be 'Nothing'. -} encodingProfileGetName profile = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile result <- gst_encoding_profile_get_name profile' checkUnexpectedReturnNULL "encodingProfileGetName" result result' <- cstringToText result touchManagedPtr profile return result' data EncodingProfileGetNameMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetNameMethodInfo a signature where overloadedMethod _ = encodingProfileGetName -- method EncodingProfile::get_presence -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUInt) -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_get_presence" gst_encoding_profile_get_presence :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) IO Word32 {- | /No description available in the introspection data./ -} encodingProfileGetPresence :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> m Word32 {- ^ __Returns:__ The number of times the profile is used in its parent container profile. If 0, it is not a mandatory stream. -} encodingProfileGetPresence profile = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile result <- gst_encoding_profile_get_presence profile' touchManagedPtr profile return result data EncodingProfileGetPresenceMethodInfo instance (signature ~ (m Word32), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetPresenceMethodInfo a signature where overloadedMethod _ = encodingProfileGetPresence -- method EncodingProfile::get_preset -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_get_preset" gst_encoding_profile_get_preset :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) IO CString {- | /No description available in the introspection data./ -} encodingProfileGetPreset :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> m T.Text {- ^ __Returns:__ the name of the 'GI.Gst.Interfaces.Preset.Preset' to be used in the profile. This is the name that has been set when saving the preset. -} encodingProfileGetPreset profile = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile result <- gst_encoding_profile_get_preset profile' checkUnexpectedReturnNULL "encodingProfileGetPreset" result result' <- cstringToText result touchManagedPtr profile return result' data EncodingProfileGetPresetMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetPresetMethodInfo a signature where overloadedMethod _ = encodingProfileGetPreset -- method EncodingProfile::get_preset_name -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_get_preset_name" gst_encoding_profile_get_preset_name :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) IO CString {- | /No description available in the introspection data./ -} encodingProfileGetPresetName :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> m T.Text {- ^ __Returns:__ the name of the 'GI.Gst.Interfaces.Preset.Preset' factory to be used in the profile. -} encodingProfileGetPresetName profile = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile result <- gst_encoding_profile_get_preset_name profile' checkUnexpectedReturnNULL "encodingProfileGetPresetName" result result' <- cstringToText result touchManagedPtr profile return result' data EncodingProfileGetPresetNameMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetPresetNameMethodInfo a signature where overloadedMethod _ = encodingProfileGetPresetName -- method EncodingProfile::get_restriction -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"})) -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_get_restriction" gst_encoding_profile_get_restriction :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) IO (Ptr Gst.Caps.Caps) {- | /No description available in the introspection data./ -} encodingProfileGetRestriction :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> m Gst.Caps.Caps {- ^ __Returns:__ The restriction 'GI.Gst.Structs.Caps.Caps' to apply before the encoder that will be used in the profile. The fields present in restriction caps are properties of the raw stream (that is before encoding), such as height and width for video and depth and sampling rate for audio. Does not apply to 'GI.GstPbutils.Objects.EncodingContainerProfile.EncodingContainerProfile' (since there is no corresponding raw stream). Can be 'Nothing'. Unref after usage. -} encodingProfileGetRestriction profile = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile result <- gst_encoding_profile_get_restriction profile' checkUnexpectedReturnNULL "encodingProfileGetRestriction" result result' <- (wrapBoxed Gst.Caps.Caps) result touchManagedPtr profile return result' data EncodingProfileGetRestrictionMethodInfo instance (signature ~ (m Gst.Caps.Caps), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetRestrictionMethodInfo a signature where overloadedMethod _ = encodingProfileGetRestriction -- method EncodingProfile::get_type_nick -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_get_type_nick" gst_encoding_profile_get_type_nick :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) IO CString {- | /No description available in the introspection data./ -} encodingProfileGetTypeNick :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> m T.Text {- ^ __Returns:__ the human-readable name of the type of /@profile@/. -} encodingProfileGetTypeNick profile = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile result <- gst_encoding_profile_get_type_nick profile' checkUnexpectedReturnNULL "encodingProfileGetTypeNick" result result' <- cstringToText result touchManagedPtr profile return result' data EncodingProfileGetTypeNickMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetTypeNickMethodInfo a signature where overloadedMethod _ = encodingProfileGetTypeNick -- method EncodingProfile::is_enabled -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_is_enabled" gst_encoding_profile_is_enabled :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) IO CInt {- | /No description available in the introspection data./ -} encodingProfileIsEnabled :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a -> m Bool encodingProfileIsEnabled profile = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile result <- gst_encoding_profile_is_enabled profile' let result' = (/= 0) result touchManagedPtr profile return result' data EncodingProfileIsEnabledMethodInfo instance (signature ~ (m Bool), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileIsEnabledMethodInfo a signature where overloadedMethod _ = encodingProfileIsEnabled -- method EncodingProfile::is_equal -- method type : OrdinaryMethod -- Args : [Arg {argCName = "a", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_is_equal" gst_encoding_profile_is_equal :: Ptr EncodingProfile -> -- a : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) Ptr EncodingProfile -> -- b : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) IO CInt {- | Checks whether the two 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' are equal -} encodingProfileIsEqual :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a, IsEncodingProfile b) => a {- ^ /@a@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> b {- ^ /@b@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> m Bool {- ^ __Returns:__ 'True' if /@a@/ and /@b@/ are equal, else 'False'. -} encodingProfileIsEqual a b = liftIO $ do a' <- unsafeManagedPtrCastPtr a b' <- unsafeManagedPtrCastPtr b result <- gst_encoding_profile_is_equal a' b' let result' = (/= 0) result touchManagedPtr a touchManagedPtr b return result' data EncodingProfileIsEqualMethodInfo instance (signature ~ (b -> m Bool), MonadIO m, IsEncodingProfile a, IsEncodingProfile b) => O.MethodInfo EncodingProfileIsEqualMethodInfo a signature where overloadedMethod _ = encodingProfileIsEqual -- method EncodingProfile::set_allow_dynamic_output -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allow_dynamic_output", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether the format that has been negotiated first can be renegotiated\nduring the encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_set_allow_dynamic_output" gst_encoding_profile_set_allow_dynamic_output :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) CInt -> -- allow_dynamic_output : TBasicType TBoolean IO () {- | Sets whether the format that has been negotiated in at some point can be renegotiated later during the encoding. -} encodingProfileSetAllowDynamicOutput :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> Bool {- ^ /@allowDynamicOutput@/: Whether the format that has been negotiated first can be renegotiated during the encoding -} -> m () encodingProfileSetAllowDynamicOutput profile allowDynamicOutput = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile let allowDynamicOutput' = (fromIntegral . fromEnum) allowDynamicOutput gst_encoding_profile_set_allow_dynamic_output profile' allowDynamicOutput' touchManagedPtr profile return () data EncodingProfileSetAllowDynamicOutputMethodInfo instance (signature ~ (Bool -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetAllowDynamicOutputMethodInfo a signature where overloadedMethod _ = encodingProfileSetAllowDynamicOutput -- method EncodingProfile::set_description -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the description to set on the profile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_set_description" gst_encoding_profile_set_description :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) CString -> -- description : TBasicType TUTF8 IO () {- | Set /@description@/ as the given description for the /@profile@/. A copy of /@description@/ will be made internally. -} encodingProfileSetDescription :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> T.Text {- ^ /@description@/: the description to set on the profile -} -> m () encodingProfileSetDescription profile description = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile description' <- textToCString description gst_encoding_profile_set_description profile' description' touchManagedPtr profile freeMem description' return () data EncodingProfileSetDescriptionMethodInfo instance (signature ~ (T.Text -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetDescriptionMethodInfo a signature where overloadedMethod _ = encodingProfileSetDescription -- method EncodingProfile::set_enabled -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%FALSE to disable #profile, %TRUE to enable it", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_set_enabled" gst_encoding_profile_set_enabled :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) CInt -> -- enabled : TBasicType TBoolean IO () {- | Set whether the profile should be used or not. -} encodingProfileSetEnabled :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> Bool {- ^ /@enabled@/: 'False' to disable @/profile/@, 'True' to enable it -} -> m () encodingProfileSetEnabled profile enabled = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile let enabled' = (fromIntegral . fromEnum) enabled gst_encoding_profile_set_enabled profile' enabled' touchManagedPtr profile return () data EncodingProfileSetEnabledMethodInfo instance (signature ~ (Bool -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetEnabledMethodInfo a signature where overloadedMethod _ = encodingProfileSetEnabled -- method EncodingProfile::set_format -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the media format to use in the profile.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_set_format" gst_encoding_profile_set_format :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) Ptr Gst.Caps.Caps -> -- format : TInterface (Name {namespace = "Gst", name = "Caps"}) IO () {- | Sets the media format used in the profile. -} encodingProfileSetFormat :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> Gst.Caps.Caps {- ^ /@format@/: the media format to use in the profile. -} -> m () encodingProfileSetFormat profile format = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile format' <- unsafeManagedPtrGetPtr format gst_encoding_profile_set_format profile' format' touchManagedPtr profile touchManagedPtr format return () data EncodingProfileSetFormatMethodInfo instance (signature ~ (Gst.Caps.Caps -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetFormatMethodInfo a signature where overloadedMethod _ = encodingProfileSetFormat -- method EncodingProfile::set_name -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name to set on the profile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_set_name" gst_encoding_profile_set_name :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) CString -> -- name : TBasicType TUTF8 IO () {- | Set /@name@/ as the given name for the /@profile@/. A copy of /@name@/ will be made internally. -} encodingProfileSetName :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> T.Text {- ^ /@name@/: the name to set on the profile -} -> m () encodingProfileSetName profile name = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile name' <- textToCString name gst_encoding_profile_set_name profile' name' touchManagedPtr profile freeMem name' return () data EncodingProfileSetNameMethodInfo instance (signature ~ (T.Text -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetNameMethodInfo a signature where overloadedMethod _ = encodingProfileSetName -- method EncodingProfile::set_presence -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "presence", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of time the profile can be used", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_set_presence" gst_encoding_profile_set_presence :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) Word32 -> -- presence : TBasicType TUInt IO () {- | Set the number of time the profile is used in its parent container profile. If 0, it is not a mandatory stream -} encodingProfileSetPresence :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> Word32 {- ^ /@presence@/: the number of time the profile can be used -} -> m () encodingProfileSetPresence profile presence = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile gst_encoding_profile_set_presence profile' presence touchManagedPtr profile return () data EncodingProfileSetPresenceMethodInfo instance (signature ~ (Word32 -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetPresenceMethodInfo a signature where overloadedMethod _ = encodingProfileSetPresence -- method EncodingProfile::set_preset -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "preset", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the element preset to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_set_preset" gst_encoding_profile_set_preset :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) CString -> -- preset : TBasicType TUTF8 IO () {- | Sets the name of the 'GI.Gst.Objects.Element.Element' that implements the 'GI.Gst.Interfaces.Preset.Preset' interface to use for the profile. This is the name that has been set when saving the preset. -} encodingProfileSetPreset :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> Maybe (T.Text) {- ^ /@preset@/: the element preset to use -} -> m () encodingProfileSetPreset profile preset = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile maybePreset <- case preset of Nothing -> return nullPtr Just jPreset -> do jPreset' <- textToCString jPreset return jPreset' gst_encoding_profile_set_preset profile' maybePreset touchManagedPtr profile freeMem maybePreset return () data EncodingProfileSetPresetMethodInfo instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetPresetMethodInfo a signature where overloadedMethod _ = encodingProfileSetPreset -- method EncodingProfile::set_preset_name -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "preset_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The name of the preset to use in this @profile.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_set_preset_name" gst_encoding_profile_set_preset_name :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) CString -> -- preset_name : TBasicType TUTF8 IO () {- | Sets the name of the 'GI.Gst.Interfaces.Preset.Preset'\'s factory to be used in the profile. -} encodingProfileSetPresetName :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> T.Text {- ^ /@presetName@/: The name of the preset to use in this /@profile@/. -} -> m () encodingProfileSetPresetName profile presetName = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile presetName' <- textToCString presetName gst_encoding_profile_set_preset_name profile' presetName' touchManagedPtr profile freeMem presetName' return () data EncodingProfileSetPresetNameMethodInfo instance (signature ~ (T.Text -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetPresetNameMethodInfo a signature where overloadedMethod _ = encodingProfileSetPresetName -- method EncodingProfile::set_restriction -- method type : OrdinaryMethod -- Args : [Arg {argCName = "profile", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEncodingProfile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "restriction", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the restriction to apply", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_set_restriction" gst_encoding_profile_set_restriction :: Ptr EncodingProfile -> -- profile : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) Ptr Gst.Caps.Caps -> -- restriction : TInterface (Name {namespace = "Gst", name = "Caps"}) IO () {- | Set the restriction 'GI.Gst.Structs.Caps.Caps' to apply before the encoder that will be used in the profile. See 'GI.GstPbutils.Objects.EncodingProfile.encodingProfileGetRestriction' for more about restrictions. Does not apply to 'GI.GstPbutils.Objects.EncodingContainerProfile.EncodingContainerProfile'. -} encodingProfileSetRestriction :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@profile@/: a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' -} -> Gst.Caps.Caps {- ^ /@restriction@/: the restriction to apply -} -> m () encodingProfileSetRestriction profile restriction = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile restriction' <- B.ManagedPtr.disownBoxed restriction gst_encoding_profile_set_restriction profile' restriction' touchManagedPtr profile touchManagedPtr restriction return () data EncodingProfileSetRestrictionMethodInfo instance (signature ~ (Gst.Caps.Caps -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetRestrictionMethodInfo a signature where overloadedMethod _ = encodingProfileSetRestriction -- method EncodingProfile::find -- method type : MemberFunction -- Args : [Arg {argCName = "targetname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The name of the target", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "profilename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "(allow-none): The name of the profile, if %NULL\nprovided, it will default to the encoding profile called `default`.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The target category. Can be %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"})) -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_find" gst_encoding_profile_find :: CString -> -- targetname : TBasicType TUTF8 CString -> -- profilename : TBasicType TUTF8 CString -> -- category : TBasicType TUTF8 IO (Ptr EncodingProfile) {- | Find the 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' with the specified name and category. -} encodingProfileFind :: (B.CallStack.HasCallStack, MonadIO m) => T.Text {- ^ /@targetname@/: The name of the target -} -> T.Text {- ^ /@profilename@/: (allow-none): The name of the profile, if 'Nothing' provided, it will default to the encoding profile called @default@. -} -> Maybe (T.Text) {- ^ /@category@/: The target category. Can be 'Nothing' -} -> m EncodingProfile {- ^ __Returns:__ The matching 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' or 'Nothing'. -} encodingProfileFind targetname profilename category = liftIO $ do targetname' <- textToCString targetname profilename' <- textToCString profilename maybeCategory <- case category of Nothing -> return nullPtr Just jCategory -> do jCategory' <- textToCString jCategory return jCategory' result <- gst_encoding_profile_find targetname' profilename' maybeCategory checkUnexpectedReturnNULL "encodingProfileFind" result result' <- (wrapObject EncodingProfile) result freeMem targetname' freeMem profilename' freeMem maybeCategory return result' -- method EncodingProfile::from_discoverer -- method type : MemberFunction -- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GstPbutils", name = "DiscovererInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstDiscovererInfo to read from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"})) -- throws : False -- Skip return : False foreign import ccall "gst_encoding_profile_from_discoverer" gst_encoding_profile_from_discoverer :: Ptr GstPbutils.DiscovererInfo.DiscovererInfo -> -- info : TInterface (Name {namespace = "GstPbutils", name = "DiscovererInfo"}) IO (Ptr EncodingProfile) {- | Creates a 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' matching the formats from the given 'GI.GstPbutils.Objects.DiscovererInfo.DiscovererInfo'. Streams other than audio or video (eg, subtitles), are currently ignored. -} encodingProfileFromDiscoverer :: (B.CallStack.HasCallStack, MonadIO m, GstPbutils.DiscovererInfo.IsDiscovererInfo a) => a {- ^ /@info@/: The 'GI.GstPbutils.Objects.DiscovererInfo.DiscovererInfo' to read from -} -> m EncodingProfile {- ^ __Returns:__ The new 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' or 'Nothing'. -} encodingProfileFromDiscoverer info = liftIO $ do info' <- unsafeManagedPtrCastPtr info result <- gst_encoding_profile_from_discoverer info' checkUnexpectedReturnNULL "encodingProfileFromDiscoverer" result result' <- (wrapObject EncodingProfile) result touchManagedPtr info return result'