#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.GstPbutils.Objects.EncodingContainerProfile
(
EncodingContainerProfile(..) ,
IsEncodingContainerProfile ,
toEncodingContainerProfile ,
noEncodingContainerProfile ,
#if ENABLE_OVERLOADING
EncodingContainerProfileAddProfileMethodInfo,
#endif
encodingContainerProfileAddProfile ,
#if ENABLE_OVERLOADING
EncodingContainerProfileContainsProfileMethodInfo,
#endif
encodingContainerProfileContainsProfile ,
#if ENABLE_OVERLOADING
EncodingContainerProfileGetProfilesMethodInfo,
#endif
encodingContainerProfileGetProfiles ,
encodingContainerProfileNew ,
) 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.EncodingProfile as GstPbutils.EncodingProfile
newtype EncodingContainerProfile = EncodingContainerProfile (ManagedPtr EncodingContainerProfile)
foreign import ccall "gst_encoding_container_profile_get_type"
c_gst_encoding_container_profile_get_type :: IO GType
instance GObject EncodingContainerProfile where
gobjectType = c_gst_encoding_container_profile_get_type
class (GObject o, O.IsDescendantOf EncodingContainerProfile o) => IsEncodingContainerProfile o
instance (GObject o, O.IsDescendantOf EncodingContainerProfile o) => IsEncodingContainerProfile o
instance O.HasParentTypes EncodingContainerProfile
type instance O.ParentTypes EncodingContainerProfile = '[GstPbutils.EncodingProfile.EncodingProfile, GObject.Object.Object]
toEncodingContainerProfile :: (MonadIO m, IsEncodingContainerProfile o) => o -> m EncodingContainerProfile
toEncodingContainerProfile = liftIO . unsafeCastTo EncodingContainerProfile
noEncodingContainerProfile :: Maybe EncodingContainerProfile
noEncodingContainerProfile = Nothing
#if ENABLE_OVERLOADING
type family ResolveEncodingContainerProfileMethod (t :: Symbol) (o :: *) :: * where
ResolveEncodingContainerProfileMethod "addProfile" o = EncodingContainerProfileAddProfileMethodInfo
ResolveEncodingContainerProfileMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveEncodingContainerProfileMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveEncodingContainerProfileMethod "containsProfile" o = EncodingContainerProfileContainsProfileMethodInfo
ResolveEncodingContainerProfileMethod "copy" o = GstPbutils.EncodingProfile.EncodingProfileCopyMethodInfo
ResolveEncodingContainerProfileMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveEncodingContainerProfileMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveEncodingContainerProfileMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveEncodingContainerProfileMethod "isEnabled" o = GstPbutils.EncodingProfile.EncodingProfileIsEnabledMethodInfo
ResolveEncodingContainerProfileMethod "isEqual" o = GstPbutils.EncodingProfile.EncodingProfileIsEqualMethodInfo
ResolveEncodingContainerProfileMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveEncodingContainerProfileMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveEncodingContainerProfileMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveEncodingContainerProfileMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveEncodingContainerProfileMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveEncodingContainerProfileMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveEncodingContainerProfileMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveEncodingContainerProfileMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveEncodingContainerProfileMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveEncodingContainerProfileMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveEncodingContainerProfileMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveEncodingContainerProfileMethod "getAllowDynamicOutput" o = GstPbutils.EncodingProfile.EncodingProfileGetAllowDynamicOutputMethodInfo
ResolveEncodingContainerProfileMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveEncodingContainerProfileMethod "getDescription" o = GstPbutils.EncodingProfile.EncodingProfileGetDescriptionMethodInfo
ResolveEncodingContainerProfileMethod "getFileExtension" o = GstPbutils.EncodingProfile.EncodingProfileGetFileExtensionMethodInfo
ResolveEncodingContainerProfileMethod "getFormat" o = GstPbutils.EncodingProfile.EncodingProfileGetFormatMethodInfo
ResolveEncodingContainerProfileMethod "getInputCaps" o = GstPbutils.EncodingProfile.EncodingProfileGetInputCapsMethodInfo
ResolveEncodingContainerProfileMethod "getName" o = GstPbutils.EncodingProfile.EncodingProfileGetNameMethodInfo
ResolveEncodingContainerProfileMethod "getPresence" o = GstPbutils.EncodingProfile.EncodingProfileGetPresenceMethodInfo
ResolveEncodingContainerProfileMethod "getPreset" o = GstPbutils.EncodingProfile.EncodingProfileGetPresetMethodInfo
ResolveEncodingContainerProfileMethod "getPresetName" o = GstPbutils.EncodingProfile.EncodingProfileGetPresetNameMethodInfo
ResolveEncodingContainerProfileMethod "getProfiles" o = EncodingContainerProfileGetProfilesMethodInfo
ResolveEncodingContainerProfileMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveEncodingContainerProfileMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveEncodingContainerProfileMethod "getRestriction" o = GstPbutils.EncodingProfile.EncodingProfileGetRestrictionMethodInfo
ResolveEncodingContainerProfileMethod "getTypeNick" o = GstPbutils.EncodingProfile.EncodingProfileGetTypeNickMethodInfo
ResolveEncodingContainerProfileMethod "setAllowDynamicOutput" o = GstPbutils.EncodingProfile.EncodingProfileSetAllowDynamicOutputMethodInfo
ResolveEncodingContainerProfileMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveEncodingContainerProfileMethod "setDescription" o = GstPbutils.EncodingProfile.EncodingProfileSetDescriptionMethodInfo
ResolveEncodingContainerProfileMethod "setEnabled" o = GstPbutils.EncodingProfile.EncodingProfileSetEnabledMethodInfo
ResolveEncodingContainerProfileMethod "setFormat" o = GstPbutils.EncodingProfile.EncodingProfileSetFormatMethodInfo
ResolveEncodingContainerProfileMethod "setName" o = GstPbutils.EncodingProfile.EncodingProfileSetNameMethodInfo
ResolveEncodingContainerProfileMethod "setPresence" o = GstPbutils.EncodingProfile.EncodingProfileSetPresenceMethodInfo
ResolveEncodingContainerProfileMethod "setPreset" o = GstPbutils.EncodingProfile.EncodingProfileSetPresetMethodInfo
ResolveEncodingContainerProfileMethod "setPresetName" o = GstPbutils.EncodingProfile.EncodingProfileSetPresetNameMethodInfo
ResolveEncodingContainerProfileMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveEncodingContainerProfileMethod "setRestriction" o = GstPbutils.EncodingProfile.EncodingProfileSetRestrictionMethodInfo
ResolveEncodingContainerProfileMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveEncodingContainerProfileMethod t EncodingContainerProfile, O.MethodInfo info EncodingContainerProfile p) => OL.IsLabel t (EncodingContainerProfile -> 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
#if ENABLE_OVERLOADING
instance O.HasAttributeList EncodingContainerProfile
type instance O.AttributeList EncodingContainerProfile = EncodingContainerProfileAttributeList
type EncodingContainerProfileAttributeList = ('[ '("restrictionCaps", GstPbutils.EncodingProfile.EncodingProfileRestrictionCapsPropertyInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList EncodingContainerProfile = EncodingContainerProfileSignalList
type EncodingContainerProfileSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_encoding_container_profile_new" gst_encoding_container_profile_new ::
CString ->
CString ->
Ptr Gst.Caps.Caps ->
CString ->
IO (Ptr EncodingContainerProfile)
encodingContainerProfileNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
Maybe (T.Text)
-> Maybe (T.Text)
-> Gst.Caps.Caps
-> Maybe (T.Text)
-> m EncodingContainerProfile
encodingContainerProfileNew name description format preset = liftIO $ do
maybeName <- case name of
Nothing -> return nullPtr
Just jName -> do
jName' <- textToCString jName
return jName'
maybeDescription <- case description of
Nothing -> return nullPtr
Just jDescription -> do
jDescription' <- textToCString jDescription
return jDescription'
format' <- unsafeManagedPtrGetPtr format
maybePreset <- case preset of
Nothing -> return nullPtr
Just jPreset -> do
jPreset' <- textToCString jPreset
return jPreset'
result <- gst_encoding_container_profile_new maybeName maybeDescription format' maybePreset
checkUnexpectedReturnNULL "encodingContainerProfileNew" result
result' <- (wrapObject EncodingContainerProfile) result
touchManagedPtr format
freeMem maybeName
freeMem maybeDescription
freeMem maybePreset
return result'
#if ENABLE_OVERLOADING
#endif
foreign import ccall "gst_encoding_container_profile_add_profile" gst_encoding_container_profile_add_profile ::
Ptr EncodingContainerProfile ->
Ptr GstPbutils.EncodingProfile.EncodingProfile ->
IO CInt
encodingContainerProfileAddProfile ::
(B.CallStack.HasCallStack, MonadIO m, IsEncodingContainerProfile a, GstPbutils.EncodingProfile.IsEncodingProfile b) =>
a
-> b
-> m Bool
encodingContainerProfileAddProfile container profile = liftIO $ do
container' <- unsafeManagedPtrCastPtr container
profile' <- B.ManagedPtr.disownObject profile
result <- gst_encoding_container_profile_add_profile container' profile'
let result' = (/= 0) result
touchManagedPtr container
touchManagedPtr profile
return result'
#if ENABLE_OVERLOADING
data EncodingContainerProfileAddProfileMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsEncodingContainerProfile a, GstPbutils.EncodingProfile.IsEncodingProfile b) => O.MethodInfo EncodingContainerProfileAddProfileMethodInfo a signature where
overloadedMethod _ = encodingContainerProfileAddProfile
#endif
foreign import ccall "gst_encoding_container_profile_contains_profile" gst_encoding_container_profile_contains_profile ::
Ptr EncodingContainerProfile ->
Ptr GstPbutils.EncodingProfile.EncodingProfile ->
IO CInt
encodingContainerProfileContainsProfile ::
(B.CallStack.HasCallStack, MonadIO m, IsEncodingContainerProfile a, GstPbutils.EncodingProfile.IsEncodingProfile b) =>
a
-> b
-> m Bool
encodingContainerProfileContainsProfile container profile = liftIO $ do
container' <- unsafeManagedPtrCastPtr container
profile' <- unsafeManagedPtrCastPtr profile
result <- gst_encoding_container_profile_contains_profile container' profile'
let result' = (/= 0) result
touchManagedPtr container
touchManagedPtr profile
return result'
#if ENABLE_OVERLOADING
data EncodingContainerProfileContainsProfileMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsEncodingContainerProfile a, GstPbutils.EncodingProfile.IsEncodingProfile b) => O.MethodInfo EncodingContainerProfileContainsProfileMethodInfo a signature where
overloadedMethod _ = encodingContainerProfileContainsProfile
#endif
foreign import ccall "gst_encoding_container_profile_get_profiles" gst_encoding_container_profile_get_profiles ::
Ptr EncodingContainerProfile ->
IO (Ptr (GList (Ptr GstPbutils.EncodingProfile.EncodingProfile)))
encodingContainerProfileGetProfiles ::
(B.CallStack.HasCallStack, MonadIO m, IsEncodingContainerProfile a) =>
a
-> m [GstPbutils.EncodingProfile.EncodingProfile]
encodingContainerProfileGetProfiles profile = liftIO $ do
profile' <- unsafeManagedPtrCastPtr profile
result <- gst_encoding_container_profile_get_profiles profile'
result' <- unpackGList result
result'' <- mapM (newObject GstPbutils.EncodingProfile.EncodingProfile) result'
touchManagedPtr profile
return result''
#if ENABLE_OVERLOADING
data EncodingContainerProfileGetProfilesMethodInfo
instance (signature ~ (m [GstPbutils.EncodingProfile.EncodingProfile]), MonadIO m, IsEncodingContainerProfile a) => O.MethodInfo EncodingContainerProfileGetProfilesMethodInfo a signature where
overloadedMethod _ = encodingContainerProfileGetProfiles
#endif