{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) The opaque base class object for all encoding profiles. This contains generic information like name, description, format and preset. -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.GstPbutils.Objects.EncodingProfile ( -- * Exported types EncodingProfile(..) , IsEncodingProfile , toEncodingProfile , noEncodingProfile , -- * Methods -- ** copy #method:copy# #if ENABLE_OVERLOADING EncodingProfileCopyMethodInfo , #endif encodingProfileCopy , -- ** find #method:find# encodingProfileFind , -- ** fromDiscoverer #method:fromDiscoverer# encodingProfileFromDiscoverer , -- ** getAllowDynamicOutput #method:getAllowDynamicOutput# #if ENABLE_OVERLOADING EncodingProfileGetAllowDynamicOutputMethodInfo, #endif encodingProfileGetAllowDynamicOutput , -- ** getDescription #method:getDescription# #if ENABLE_OVERLOADING EncodingProfileGetDescriptionMethodInfo , #endif encodingProfileGetDescription , -- ** getFileExtension #method:getFileExtension# #if ENABLE_OVERLOADING EncodingProfileGetFileExtensionMethodInfo, #endif encodingProfileGetFileExtension , -- ** getFormat #method:getFormat# #if ENABLE_OVERLOADING EncodingProfileGetFormatMethodInfo , #endif encodingProfileGetFormat , -- ** getInputCaps #method:getInputCaps# #if ENABLE_OVERLOADING EncodingProfileGetInputCapsMethodInfo , #endif encodingProfileGetInputCaps , -- ** getName #method:getName# #if ENABLE_OVERLOADING EncodingProfileGetNameMethodInfo , #endif encodingProfileGetName , -- ** getPresence #method:getPresence# #if ENABLE_OVERLOADING EncodingProfileGetPresenceMethodInfo , #endif encodingProfileGetPresence , -- ** getPreset #method:getPreset# #if ENABLE_OVERLOADING EncodingProfileGetPresetMethodInfo , #endif encodingProfileGetPreset , -- ** getPresetName #method:getPresetName# #if ENABLE_OVERLOADING EncodingProfileGetPresetNameMethodInfo , #endif encodingProfileGetPresetName , -- ** getRestriction #method:getRestriction# #if ENABLE_OVERLOADING EncodingProfileGetRestrictionMethodInfo , #endif encodingProfileGetRestriction , -- ** getTypeNick #method:getTypeNick# #if ENABLE_OVERLOADING EncodingProfileGetTypeNickMethodInfo , #endif encodingProfileGetTypeNick , -- ** isEnabled #method:isEnabled# #if ENABLE_OVERLOADING EncodingProfileIsEnabledMethodInfo , #endif encodingProfileIsEnabled , -- ** isEqual #method:isEqual# #if ENABLE_OVERLOADING EncodingProfileIsEqualMethodInfo , #endif encodingProfileIsEqual , -- ** setAllowDynamicOutput #method:setAllowDynamicOutput# #if ENABLE_OVERLOADING EncodingProfileSetAllowDynamicOutputMethodInfo, #endif encodingProfileSetAllowDynamicOutput , -- ** setDescription #method:setDescription# #if ENABLE_OVERLOADING EncodingProfileSetDescriptionMethodInfo , #endif encodingProfileSetDescription , -- ** setEnabled #method:setEnabled# #if ENABLE_OVERLOADING EncodingProfileSetEnabledMethodInfo , #endif encodingProfileSetEnabled , -- ** setFormat #method:setFormat# #if ENABLE_OVERLOADING EncodingProfileSetFormatMethodInfo , #endif encodingProfileSetFormat , -- ** setName #method:setName# #if ENABLE_OVERLOADING EncodingProfileSetNameMethodInfo , #endif encodingProfileSetName , -- ** setPresence #method:setPresence# #if ENABLE_OVERLOADING EncodingProfileSetPresenceMethodInfo , #endif encodingProfileSetPresence , -- ** setPreset #method:setPreset# #if ENABLE_OVERLOADING EncodingProfileSetPresetMethodInfo , #endif encodingProfileSetPreset , -- ** setPresetName #method:setPresetName# #if ENABLE_OVERLOADING EncodingProfileSetPresetNameMethodInfo , #endif encodingProfileSetPresetName , -- ** setRestriction #method:setRestriction# #if ENABLE_OVERLOADING EncodingProfileSetRestrictionMethodInfo , #endif encodingProfileSetRestriction , -- * Properties -- ** restrictionCaps #attr:restrictionCaps# {- | /No description available in the introspection data./ -} #if ENABLE_OVERLOADING EncodingProfileRestrictionCapsPropertyInfo, #endif clearEncodingProfileRestrictionCaps , constructEncodingProfileRestrictionCaps , #if ENABLE_OVERLOADING encodingProfileRestrictionCaps , #endif 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.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.Structs.Caps as Gst.Caps import {-# SOURCE #-} qualified GI.GstPbutils.Objects.DiscovererInfo as GstPbutils.DiscovererInfo -- | Memory-managed wrapper type. 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 -- | Type class for types which can be safely cast to `EncodingProfile`, for instance with `toEncodingProfile`. class (GObject o, O.IsDescendantOf EncodingProfile o) => IsEncodingProfile o instance (GObject o, O.IsDescendantOf EncodingProfile o) => IsEncodingProfile o instance O.HasParentTypes EncodingProfile type instance O.ParentTypes EncodingProfile = '[GObject.Object.Object] -- | Cast to `EncodingProfile`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`. toEncodingProfile :: (MonadIO m, IsEncodingProfile o) => o -> m EncodingProfile toEncodingProfile = liftIO . unsafeCastTo EncodingProfile -- | A convenience alias for `Nothing` :: `Maybe` `EncodingProfile`. noEncodingProfile :: Maybe EncodingProfile noEncodingProfile = Nothing #if ENABLE_OVERLOADING type family ResolveEncodingProfileMethod (t :: Symbol) (o :: *) :: * where ResolveEncodingProfileMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo ResolveEncodingProfileMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo ResolveEncodingProfileMethod "copy" o = EncodingProfileCopyMethodInfo ResolveEncodingProfileMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo ResolveEncodingProfileMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo ResolveEncodingProfileMethod "getv" o = GObject.Object.ObjectGetvMethodInfo 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 "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) => OL.IsLabel t (EncodingProfile -> 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 -- VVV Prop "restriction-caps" -- Type: TInterface (Name {namespace = "Gst", name = "Caps"}) -- Flags: [PropertyReadable,PropertyWritable] -- Nullable: (Nothing,Nothing) {- | Get the value of the “@restriction-caps@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' encodingProfile #restrictionCaps @ -} getEncodingProfileRestrictionCaps :: (MonadIO m, IsEncodingProfile o) => o -> m (Maybe Gst.Caps.Caps) getEncodingProfileRestrictionCaps obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "restriction-caps" Gst.Caps.Caps {- | Set the value of the “@restriction-caps@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' encodingProfile [ #restrictionCaps 'Data.GI.Base.Attributes.:=' value ] @ -} setEncodingProfileRestrictionCaps :: (MonadIO m, IsEncodingProfile o) => o -> Gst.Caps.Caps -> m () setEncodingProfileRestrictionCaps obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "restriction-caps" (Just val) {- | Construct a `GValueConstruct` with valid value for the “@restriction-caps@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`. -} constructEncodingProfileRestrictionCaps :: (IsEncodingProfile o) => Gst.Caps.Caps -> IO (GValueConstruct o) constructEncodingProfileRestrictionCaps val = B.Properties.constructObjectPropertyBoxed "restriction-caps" (Just val) {- | Set the value of the “@restriction-caps@” property to `Nothing`. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.clear' #restrictionCaps @ -} clearEncodingProfileRestrictionCaps :: (MonadIO m, IsEncodingProfile o) => o -> m () clearEncodingProfileRestrictionCaps obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "restriction-caps" (Nothing :: Maybe Gst.Caps.Caps) #if ENABLE_OVERLOADING 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 #endif #if ENABLE_OVERLOADING instance O.HasAttributeList EncodingProfile type instance O.AttributeList EncodingProfile = EncodingProfileAttributeList type EncodingProfileAttributeList = ('[ '("restrictionCaps", EncodingProfileRestrictionCapsPropertyInfo)] :: [(Symbol, *)]) #endif #if ENABLE_OVERLOADING encodingProfileRestrictionCaps :: AttrLabelProxy "restrictionCaps" encodingProfileRestrictionCaps = AttrLabelProxy #endif #if ENABLE_OVERLOADING type instance O.SignalList EncodingProfile = EncodingProfileSignalList type EncodingProfileSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)]) #endif -- method EncodingProfile::copy -- method type : OrdinaryMethod -- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstEncodingProfile to copy", 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_copy" gst_encoding_profile_copy :: Ptr EncodingProfile -> -- self : TInterface (Name {namespace = "GstPbutils", name = "EncodingProfile"}) IO (Ptr EncodingProfile) {- | Makes a deep copy of /@self@/ -} encodingProfileCopy :: (B.CallStack.HasCallStack, MonadIO m, IsEncodingProfile a) => a {- ^ /@self@/: The 'GI.GstPbutils.Objects.EncodingProfile.EncodingProfile' to copy -} -> m EncodingProfile {- ^ __Returns:__ The copy of /@self@/ Since 1.12 -} encodingProfileCopy self = liftIO $ do self' <- unsafeManagedPtrCastPtr self result <- gst_encoding_profile_copy self' checkUnexpectedReturnNULL "encodingProfileCopy" result result' <- (wrapObject EncodingProfile) result touchManagedPtr self return result' #if ENABLE_OVERLOADING data EncodingProfileCopyMethodInfo instance (signature ~ (m EncodingProfile), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileCopyMethodInfo a signature where overloadedMethod _ = encodingProfileCopy #endif -- 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' #if ENABLE_OVERLOADING data EncodingProfileGetAllowDynamicOutputMethodInfo instance (signature ~ (m Bool), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetAllowDynamicOutputMethodInfo a signature where overloadedMethod _ = encodingProfileGetAllowDynamicOutput #endif -- 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' #if ENABLE_OVERLOADING data EncodingProfileGetDescriptionMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetDescriptionMethodInfo a signature where overloadedMethod _ = encodingProfileGetDescription #endif -- 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' #if ENABLE_OVERLOADING data EncodingProfileGetFileExtensionMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetFileExtensionMethodInfo a signature where overloadedMethod _ = encodingProfileGetFileExtension #endif -- 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' #if ENABLE_OVERLOADING data EncodingProfileGetFormatMethodInfo instance (signature ~ (m Gst.Caps.Caps), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetFormatMethodInfo a signature where overloadedMethod _ = encodingProfileGetFormat #endif -- 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' #if ENABLE_OVERLOADING data EncodingProfileGetInputCapsMethodInfo instance (signature ~ (m Gst.Caps.Caps), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetInputCapsMethodInfo a signature where overloadedMethod _ = encodingProfileGetInputCaps #endif -- 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' #if ENABLE_OVERLOADING data EncodingProfileGetNameMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetNameMethodInfo a signature where overloadedMethod _ = encodingProfileGetName #endif -- 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 #if ENABLE_OVERLOADING data EncodingProfileGetPresenceMethodInfo instance (signature ~ (m Word32), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetPresenceMethodInfo a signature where overloadedMethod _ = encodingProfileGetPresence #endif -- 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' #if ENABLE_OVERLOADING data EncodingProfileGetPresetMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetPresetMethodInfo a signature where overloadedMethod _ = encodingProfileGetPreset #endif -- 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' #if ENABLE_OVERLOADING data EncodingProfileGetPresetNameMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetPresetNameMethodInfo a signature where overloadedMethod _ = encodingProfileGetPresetName #endif -- 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' #if ENABLE_OVERLOADING data EncodingProfileGetRestrictionMethodInfo instance (signature ~ (m Gst.Caps.Caps), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetRestrictionMethodInfo a signature where overloadedMethod _ = encodingProfileGetRestriction #endif -- 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' #if ENABLE_OVERLOADING data EncodingProfileGetTypeNickMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileGetTypeNickMethodInfo a signature where overloadedMethod _ = encodingProfileGetTypeNick #endif -- 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' #if ENABLE_OVERLOADING data EncodingProfileIsEnabledMethodInfo instance (signature ~ (m Bool), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileIsEnabledMethodInfo a signature where overloadedMethod _ = encodingProfileIsEnabled #endif -- 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' #if ENABLE_OVERLOADING data EncodingProfileIsEqualMethodInfo instance (signature ~ (b -> m Bool), MonadIO m, IsEncodingProfile a, IsEncodingProfile b) => O.MethodInfo EncodingProfileIsEqualMethodInfo a signature where overloadedMethod _ = encodingProfileIsEqual #endif -- 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 () #if ENABLE_OVERLOADING data EncodingProfileSetAllowDynamicOutputMethodInfo instance (signature ~ (Bool -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetAllowDynamicOutputMethodInfo a signature where overloadedMethod _ = encodingProfileSetAllowDynamicOutput #endif -- 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 = True, 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' -} -> Maybe (T.Text) {- ^ /@description@/: the description to set on the profile -} -> m () encodingProfileSetDescription profile description = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile maybeDescription <- case description of Nothing -> return nullPtr Just jDescription -> do jDescription' <- textToCString jDescription return jDescription' gst_encoding_profile_set_description profile' maybeDescription touchManagedPtr profile freeMem maybeDescription return () #if ENABLE_OVERLOADING data EncodingProfileSetDescriptionMethodInfo instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetDescriptionMethodInfo a signature where overloadedMethod _ = encodingProfileSetDescription #endif -- 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. Since 1.6 -} 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 () #if ENABLE_OVERLOADING data EncodingProfileSetEnabledMethodInfo instance (signature ~ (Bool -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetEnabledMethodInfo a signature where overloadedMethod _ = encodingProfileSetEnabled #endif -- 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 () #if ENABLE_OVERLOADING data EncodingProfileSetFormatMethodInfo instance (signature ~ (Gst.Caps.Caps -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetFormatMethodInfo a signature where overloadedMethod _ = encodingProfileSetFormat #endif -- 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 = True, 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' -} -> Maybe (T.Text) {- ^ /@name@/: the name to set on the profile -} -> m () encodingProfileSetName profile name = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile maybeName <- case name of Nothing -> return nullPtr Just jName -> do jName' <- textToCString jName return jName' gst_encoding_profile_set_name profile' maybeName touchManagedPtr profile freeMem maybeName return () #if ENABLE_OVERLOADING data EncodingProfileSetNameMethodInfo instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetNameMethodInfo a signature where overloadedMethod _ = encodingProfileSetName #endif -- 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 () #if ENABLE_OVERLOADING data EncodingProfileSetPresenceMethodInfo instance (signature ~ (Word32 -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetPresenceMethodInfo a signature where overloadedMethod _ = encodingProfileSetPresence #endif -- 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 () #if ENABLE_OVERLOADING data EncodingProfileSetPresetMethodInfo instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetPresetMethodInfo a signature where overloadedMethod _ = encodingProfileSetPreset #endif -- 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 = True, 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' -} -> Maybe (T.Text) {- ^ /@presetName@/: The name of the preset to use in this /@profile@/. -} -> m () encodingProfileSetPresetName profile presetName = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile maybePresetName <- case presetName of Nothing -> return nullPtr Just jPresetName -> do jPresetName' <- textToCString jPresetName return jPresetName' gst_encoding_profile_set_preset_name profile' maybePresetName touchManagedPtr profile freeMem maybePresetName return () #if ENABLE_OVERLOADING data EncodingProfileSetPresetNameMethodInfo instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetPresetNameMethodInfo a signature where overloadedMethod _ = encodingProfileSetPresetName #endif -- 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 = True, 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' -} -> Maybe (Gst.Caps.Caps) {- ^ /@restriction@/: the restriction to apply -} -> m () encodingProfileSetRestriction profile restriction = liftIO $ do profile' <- unsafeManagedPtrCastPtr profile maybeRestriction <- case restriction of Nothing -> return nullPtr Just jRestriction -> do jRestriction' <- B.ManagedPtr.disownBoxed jRestriction return jRestriction' gst_encoding_profile_set_restriction profile' maybeRestriction touchManagedPtr profile whenJust restriction touchManagedPtr return () #if ENABLE_OVERLOADING data EncodingProfileSetRestrictionMethodInfo instance (signature ~ (Maybe (Gst.Caps.Caps) -> m ()), MonadIO m, IsEncodingProfile a) => O.MethodInfo EncodingProfileSetRestrictionMethodInfo a signature where overloadedMethod _ = encodingProfileSetRestriction #endif -- 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 = True, argDoc = Documentation {rawDocText = Just "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 -} -> Maybe (T.Text) {- ^ /@profilename@/: 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 maybeProfilename <- case profilename of Nothing -> return nullPtr Just jProfilename -> do jProfilename' <- textToCString jProfilename return jProfilename' maybeCategory <- case category of Nothing -> return nullPtr Just jCategory -> do jCategory' <- textToCString jCategory return jCategory' result <- gst_encoding_profile_find targetname' maybeProfilename maybeCategory checkUnexpectedReturnNULL "encodingProfileFind" result result' <- (wrapObject EncodingProfile) result freeMem targetname' freeMem maybeProfilename freeMem maybeCategory return result' #if ENABLE_OVERLOADING #endif -- 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' #if ENABLE_OVERLOADING #endif