module GI.GstPbutils.Objects.EncodingTarget
(
EncodingTarget(..) ,
IsEncodingTarget ,
toEncodingTarget ,
noEncodingTarget ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
EncodingTargetAddProfileMethodInfo ,
#endif
encodingTargetAddProfile ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
EncodingTargetGetCategoryMethodInfo ,
#endif
encodingTargetGetCategory ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
EncodingTargetGetDescriptionMethodInfo ,
#endif
encodingTargetGetDescription ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
EncodingTargetGetNameMethodInfo ,
#endif
encodingTargetGetName ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
EncodingTargetGetProfileMethodInfo ,
#endif
encodingTargetGetProfile ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
EncodingTargetGetProfilesMethodInfo ,
#endif
encodingTargetGetProfiles ,
encodingTargetLoad ,
encodingTargetLoadFromFile ,
encodingTargetNew ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
EncodingTargetSaveMethodInfo ,
#endif
encodingTargetSave ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
EncodingTargetSaveToFileMethodInfo ,
#endif
encodingTargetSaveToFile ,
) 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.GstPbutils.Objects.EncodingProfile as GstPbutils.EncodingProfile
newtype EncodingTarget = EncodingTarget (ManagedPtr EncodingTarget)
foreign import ccall "gst_encoding_target_get_type"
c_gst_encoding_target_get_type :: IO GType
instance GObject EncodingTarget where
gobjectType _ = c_gst_encoding_target_get_type
class GObject o => IsEncodingTarget o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError EncodingTarget a) =>
IsEncodingTarget a
#endif
instance IsEncodingTarget EncodingTarget
instance GObject.Object.IsObject EncodingTarget
toEncodingTarget :: (MonadIO m, IsEncodingTarget o) => o -> m EncodingTarget
toEncodingTarget = liftIO . unsafeCastTo EncodingTarget
noEncodingTarget :: Maybe EncodingTarget
noEncodingTarget = Nothing
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type family ResolveEncodingTargetMethod (t :: Symbol) (o :: *) :: * where
ResolveEncodingTargetMethod "addProfile" o = EncodingTargetAddProfileMethodInfo
ResolveEncodingTargetMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveEncodingTargetMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveEncodingTargetMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveEncodingTargetMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveEncodingTargetMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveEncodingTargetMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveEncodingTargetMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveEncodingTargetMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveEncodingTargetMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveEncodingTargetMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveEncodingTargetMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
ResolveEncodingTargetMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveEncodingTargetMethod "save" o = EncodingTargetSaveMethodInfo
ResolveEncodingTargetMethod "saveToFile" o = EncodingTargetSaveToFileMethodInfo
ResolveEncodingTargetMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveEncodingTargetMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveEncodingTargetMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveEncodingTargetMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveEncodingTargetMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveEncodingTargetMethod "getCategory" o = EncodingTargetGetCategoryMethodInfo
ResolveEncodingTargetMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveEncodingTargetMethod "getDescription" o = EncodingTargetGetDescriptionMethodInfo
ResolveEncodingTargetMethod "getName" o = EncodingTargetGetNameMethodInfo
ResolveEncodingTargetMethod "getProfile" o = EncodingTargetGetProfileMethodInfo
ResolveEncodingTargetMethod "getProfiles" o = EncodingTargetGetProfilesMethodInfo
ResolveEncodingTargetMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveEncodingTargetMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveEncodingTargetMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveEncodingTargetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveEncodingTargetMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveEncodingTargetMethod t EncodingTarget, O.MethodInfo info EncodingTarget p) => O.IsLabelProxy t (EncodingTarget -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveEncodingTargetMethod t EncodingTarget, O.MethodInfo info EncodingTarget p) => O.IsLabel t (EncodingTarget -> 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
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
instance O.HasAttributeList EncodingTarget
type instance O.AttributeList EncodingTarget = EncodingTargetAttributeList
type EncodingTargetAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type instance O.SignalList EncodingTarget = EncodingTargetSignalList
type EncodingTargetSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_encoding_target_new" gst_encoding_target_new ::
CString ->
CString ->
CString ->
Ptr (GList (Ptr GstPbutils.EncodingProfile.EncodingProfile)) ->
IO (Ptr EncodingTarget)
encodingTargetNew ::
(B.CallStack.HasCallStack, MonadIO m, GstPbutils.EncodingProfile.IsEncodingProfile a) =>
T.Text
-> T.Text
-> T.Text
-> [a]
-> m EncodingTarget
encodingTargetNew name category description profiles = liftIO $ do
name' <- textToCString name
category' <- textToCString category
description' <- textToCString description
profiles' <- mapM unsafeManagedPtrCastPtr profiles
profiles'' <- packGList profiles'
result <- gst_encoding_target_new name' category' description' profiles''
checkUnexpectedReturnNULL "encodingTargetNew" result
result' <- (wrapObject EncodingTarget) result
mapM_ touchManagedPtr profiles
freeMem name'
freeMem category'
freeMem description'
g_list_free profiles''
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif
foreign import ccall "gst_encoding_target_add_profile" gst_encoding_target_add_profile ::
Ptr EncodingTarget ->
Ptr GstPbutils.EncodingProfile.EncodingProfile ->
IO CInt
encodingTargetAddProfile ::
(B.CallStack.HasCallStack, MonadIO m, IsEncodingTarget a, GstPbutils.EncodingProfile.IsEncodingProfile b) =>
a
-> b
-> m Bool
encodingTargetAddProfile target profile = liftIO $ do
target' <- unsafeManagedPtrCastPtr target
profile' <- B.ManagedPtr.disownObject profile
result <- gst_encoding_target_add_profile target' profile'
let result' = (/= 0) result
touchManagedPtr target
touchManagedPtr profile
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data EncodingTargetAddProfileMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsEncodingTarget a, GstPbutils.EncodingProfile.IsEncodingProfile b) => O.MethodInfo EncodingTargetAddProfileMethodInfo a signature where
overloadedMethod _ = encodingTargetAddProfile
#endif
foreign import ccall "gst_encoding_target_get_category" gst_encoding_target_get_category ::
Ptr EncodingTarget ->
IO CString
encodingTargetGetCategory ::
(B.CallStack.HasCallStack, MonadIO m, IsEncodingTarget a) =>
a
-> m T.Text
encodingTargetGetCategory target = liftIO $ do
target' <- unsafeManagedPtrCastPtr target
result <- gst_encoding_target_get_category target'
checkUnexpectedReturnNULL "encodingTargetGetCategory" result
result' <- cstringToText result
touchManagedPtr target
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data EncodingTargetGetCategoryMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsEncodingTarget a) => O.MethodInfo EncodingTargetGetCategoryMethodInfo a signature where
overloadedMethod _ = encodingTargetGetCategory
#endif
foreign import ccall "gst_encoding_target_get_description" gst_encoding_target_get_description ::
Ptr EncodingTarget ->
IO CString
encodingTargetGetDescription ::
(B.CallStack.HasCallStack, MonadIO m, IsEncodingTarget a) =>
a
-> m T.Text
encodingTargetGetDescription target = liftIO $ do
target' <- unsafeManagedPtrCastPtr target
result <- gst_encoding_target_get_description target'
checkUnexpectedReturnNULL "encodingTargetGetDescription" result
result' <- cstringToText result
touchManagedPtr target
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data EncodingTargetGetDescriptionMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsEncodingTarget a) => O.MethodInfo EncodingTargetGetDescriptionMethodInfo a signature where
overloadedMethod _ = encodingTargetGetDescription
#endif
foreign import ccall "gst_encoding_target_get_name" gst_encoding_target_get_name ::
Ptr EncodingTarget ->
IO CString
encodingTargetGetName ::
(B.CallStack.HasCallStack, MonadIO m, IsEncodingTarget a) =>
a
-> m T.Text
encodingTargetGetName target = liftIO $ do
target' <- unsafeManagedPtrCastPtr target
result <- gst_encoding_target_get_name target'
checkUnexpectedReturnNULL "encodingTargetGetName" result
result' <- cstringToText result
touchManagedPtr target
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data EncodingTargetGetNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsEncodingTarget a) => O.MethodInfo EncodingTargetGetNameMethodInfo a signature where
overloadedMethod _ = encodingTargetGetName
#endif
foreign import ccall "gst_encoding_target_get_profile" gst_encoding_target_get_profile ::
Ptr EncodingTarget ->
CString ->
IO (Ptr GstPbutils.EncodingProfile.EncodingProfile)
encodingTargetGetProfile ::
(B.CallStack.HasCallStack, MonadIO m, IsEncodingTarget a) =>
a
-> T.Text
-> m GstPbutils.EncodingProfile.EncodingProfile
encodingTargetGetProfile target name = liftIO $ do
target' <- unsafeManagedPtrCastPtr target
name' <- textToCString name
result <- gst_encoding_target_get_profile target' name'
checkUnexpectedReturnNULL "encodingTargetGetProfile" result
result' <- (wrapObject GstPbutils.EncodingProfile.EncodingProfile) result
touchManagedPtr target
freeMem name'
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data EncodingTargetGetProfileMethodInfo
instance (signature ~ (T.Text -> m GstPbutils.EncodingProfile.EncodingProfile), MonadIO m, IsEncodingTarget a) => O.MethodInfo EncodingTargetGetProfileMethodInfo a signature where
overloadedMethod _ = encodingTargetGetProfile
#endif
foreign import ccall "gst_encoding_target_get_profiles" gst_encoding_target_get_profiles ::
Ptr EncodingTarget ->
IO (Ptr (GList (Ptr GstPbutils.EncodingProfile.EncodingProfile)))
encodingTargetGetProfiles ::
(B.CallStack.HasCallStack, MonadIO m, IsEncodingTarget a) =>
a
-> m [GstPbutils.EncodingProfile.EncodingProfile]
encodingTargetGetProfiles target = liftIO $ do
target' <- unsafeManagedPtrCastPtr target
result <- gst_encoding_target_get_profiles target'
result' <- unpackGList result
result'' <- mapM (newObject GstPbutils.EncodingProfile.EncodingProfile) result'
touchManagedPtr target
return result''
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data EncodingTargetGetProfilesMethodInfo
instance (signature ~ (m [GstPbutils.EncodingProfile.EncodingProfile]), MonadIO m, IsEncodingTarget a) => O.MethodInfo EncodingTargetGetProfilesMethodInfo a signature where
overloadedMethod _ = encodingTargetGetProfiles
#endif
foreign import ccall "gst_encoding_target_save" gst_encoding_target_save ::
Ptr EncodingTarget ->
Ptr (Ptr GError) ->
IO CInt
encodingTargetSave ::
(B.CallStack.HasCallStack, MonadIO m, IsEncodingTarget a) =>
a
-> m ()
encodingTargetSave target = liftIO $ do
target' <- unsafeManagedPtrCastPtr target
onException (do
_ <- propagateGError $ gst_encoding_target_save target'
touchManagedPtr target
return ()
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data EncodingTargetSaveMethodInfo
instance (signature ~ (m ()), MonadIO m, IsEncodingTarget a) => O.MethodInfo EncodingTargetSaveMethodInfo a signature where
overloadedMethod _ = encodingTargetSave
#endif
foreign import ccall "gst_encoding_target_save_to_file" gst_encoding_target_save_to_file ::
Ptr EncodingTarget ->
CString ->
Ptr (Ptr GError) ->
IO CInt
encodingTargetSaveToFile ::
(B.CallStack.HasCallStack, MonadIO m, IsEncodingTarget a) =>
a
-> T.Text
-> m ()
encodingTargetSaveToFile target filepath = liftIO $ do
target' <- unsafeManagedPtrCastPtr target
filepath' <- textToCString filepath
onException (do
_ <- propagateGError $ gst_encoding_target_save_to_file target' filepath'
touchManagedPtr target
freeMem filepath'
return ()
) (do
freeMem filepath'
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data EncodingTargetSaveToFileMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsEncodingTarget a) => O.MethodInfo EncodingTargetSaveToFileMethodInfo a signature where
overloadedMethod _ = encodingTargetSaveToFile
#endif
foreign import ccall "gst_encoding_target_load" gst_encoding_target_load ::
CString ->
CString ->
Ptr (Ptr GError) ->
IO (Ptr EncodingTarget)
encodingTargetLoad ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> Maybe (T.Text)
-> m EncodingTarget
encodingTargetLoad name category = liftIO $ do
name' <- textToCString name
maybeCategory <- case category of
Nothing -> return nullPtr
Just jCategory -> do
jCategory' <- textToCString jCategory
return jCategory'
onException (do
result <- propagateGError $ gst_encoding_target_load name' maybeCategory
checkUnexpectedReturnNULL "encodingTargetLoad" result
result' <- (wrapObject EncodingTarget) result
freeMem name'
freeMem maybeCategory
return result'
) (do
freeMem name'
freeMem maybeCategory
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif
foreign import ccall "gst_encoding_target_load_from_file" gst_encoding_target_load_from_file ::
CString ->
Ptr (Ptr GError) ->
IO (Ptr EncodingTarget)
encodingTargetLoadFromFile ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m EncodingTarget
encodingTargetLoadFromFile filepath = liftIO $ do
filepath' <- textToCString filepath
onException (do
result <- propagateGError $ gst_encoding_target_load_from_file filepath'
checkUnexpectedReturnNULL "encodingTargetLoadFromFile" result
result' <- (wrapObject EncodingTarget) result
freeMem filepath'
return result'
) (do
freeMem filepath'
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif