{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstPbutils.Objects.EncodingTarget
(
EncodingTarget(..) ,
IsEncodingTarget ,
toEncodingTarget ,
#if defined(ENABLE_OVERLOADING)
ResolveEncodingTargetMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
EncodingTargetAddProfileMethodInfo ,
#endif
encodingTargetAddProfile ,
#if defined(ENABLE_OVERLOADING)
EncodingTargetGetCategoryMethodInfo ,
#endif
encodingTargetGetCategory ,
#if defined(ENABLE_OVERLOADING)
EncodingTargetGetDescriptionMethodInfo ,
#endif
encodingTargetGetDescription ,
#if defined(ENABLE_OVERLOADING)
EncodingTargetGetNameMethodInfo ,
#endif
encodingTargetGetName ,
#if defined(ENABLE_OVERLOADING)
EncodingTargetGetProfileMethodInfo ,
#endif
encodingTargetGetProfile ,
#if defined(ENABLE_OVERLOADING)
EncodingTargetGetProfilesMethodInfo ,
#endif
encodingTargetGetProfiles ,
encodingTargetLoad ,
encodingTargetLoadFromFile ,
encodingTargetNew ,
#if defined(ENABLE_OVERLOADING)
EncodingTargetSaveMethodInfo ,
#endif
encodingTargetSave ,
#if defined(ENABLE_OVERLOADING)
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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.GstPbutils.Objects.EncodingProfile as GstPbutils.EncodingProfile
newtype EncodingTarget = EncodingTarget (SP.ManagedPtr EncodingTarget)
deriving (EncodingTarget -> EncodingTarget -> Bool
(EncodingTarget -> EncodingTarget -> Bool)
-> (EncodingTarget -> EncodingTarget -> Bool) -> Eq EncodingTarget
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EncodingTarget -> EncodingTarget -> Bool
$c/= :: EncodingTarget -> EncodingTarget -> Bool
== :: EncodingTarget -> EncodingTarget -> Bool
$c== :: EncodingTarget -> EncodingTarget -> Bool
Eq)
instance SP.ManagedPtrNewtype EncodingTarget where
toManagedPtr :: EncodingTarget -> ManagedPtr EncodingTarget
toManagedPtr (EncodingTarget ManagedPtr EncodingTarget
p) = ManagedPtr EncodingTarget
p
foreign import ccall "gst_encoding_target_get_type"
c_gst_encoding_target_get_type :: IO B.Types.GType
instance B.Types.TypedObject EncodingTarget where
glibType :: IO GType
glibType = IO GType
c_gst_encoding_target_get_type
instance B.Types.GObject EncodingTarget
instance B.GValue.IsGValue EncodingTarget where
toGValue :: EncodingTarget -> IO GValue
toGValue EncodingTarget
o = do
GType
gtype <- IO GType
c_gst_encoding_target_get_type
EncodingTarget -> (Ptr EncodingTarget -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr EncodingTarget
o (GType
-> (GValue -> Ptr EncodingTarget -> IO ())
-> Ptr EncodingTarget
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr EncodingTarget -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO EncodingTarget
fromGValue GValue
gv = do
Ptr EncodingTarget
ptr <- GValue -> IO (Ptr EncodingTarget)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr EncodingTarget)
(ManagedPtr EncodingTarget -> EncodingTarget)
-> Ptr EncodingTarget -> IO EncodingTarget
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr EncodingTarget -> EncodingTarget
EncodingTarget Ptr EncodingTarget
ptr
class (SP.GObject o, O.IsDescendantOf EncodingTarget o) => IsEncodingTarget o
instance (SP.GObject o, O.IsDescendantOf EncodingTarget o) => IsEncodingTarget o
instance O.HasParentTypes EncodingTarget
type instance O.ParentTypes EncodingTarget = '[GObject.Object.Object]
toEncodingTarget :: (MonadIO m, IsEncodingTarget o) => o -> m EncodingTarget
toEncodingTarget :: o -> m EncodingTarget
toEncodingTarget = IO EncodingTarget -> m EncodingTarget
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO EncodingTarget -> m EncodingTarget)
-> (o -> IO EncodingTarget) -> o -> m EncodingTarget
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr EncodingTarget -> EncodingTarget)
-> o -> IO EncodingTarget
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr EncodingTarget -> EncodingTarget
EncodingTarget
#if defined(ENABLE_OVERLOADING)
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 "getv" o = GObject.Object.ObjectGetvMethodInfo
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 "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 "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveEncodingTargetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveEncodingTargetMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveEncodingTargetMethod t EncodingTarget, O.MethodInfo info EncodingTarget p) => OL.IsLabel t (EncodingTarget -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList EncodingTarget
type instance O.AttributeList EncodingTarget = EncodingTargetAttributeList
type EncodingTargetAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
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 :: Text -> Text -> Text -> [a] -> m EncodingTarget
encodingTargetNew Text
name Text
category Text
description [a]
profiles = IO EncodingTarget -> m EncodingTarget
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO EncodingTarget -> m EncodingTarget)
-> IO EncodingTarget -> m EncodingTarget
forall a b. (a -> b) -> a -> b
$ do
CString
name' <- Text -> IO CString
textToCString Text
name
CString
category' <- Text -> IO CString
textToCString Text
category
CString
description' <- Text -> IO CString
textToCString Text
description
[Ptr EncodingProfile]
profiles' <- (a -> IO (Ptr EncodingProfile)) -> [a] -> IO [Ptr EncodingProfile]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM a -> IO (Ptr EncodingProfile)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr [a]
profiles
Ptr (GList (Ptr EncodingProfile))
profiles'' <- [Ptr EncodingProfile] -> IO (Ptr (GList (Ptr EncodingProfile)))
forall a. [Ptr a] -> IO (Ptr (GList (Ptr a)))
packGList [Ptr EncodingProfile]
profiles'
Ptr EncodingTarget
result <- CString
-> CString
-> CString
-> Ptr (GList (Ptr EncodingProfile))
-> IO (Ptr EncodingTarget)
gst_encoding_target_new CString
name' CString
category' CString
description' Ptr (GList (Ptr EncodingProfile))
profiles''
Text -> Ptr EncodingTarget -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"encodingTargetNew" Ptr EncodingTarget
result
EncodingTarget
result' <- ((ManagedPtr EncodingTarget -> EncodingTarget)
-> Ptr EncodingTarget -> IO EncodingTarget
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr EncodingTarget -> EncodingTarget
EncodingTarget) Ptr EncodingTarget
result
(a -> IO ()) -> [a] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr [a]
profiles
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
category'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
description'
Ptr (GList (Ptr EncodingProfile)) -> IO ()
forall a. Ptr (GList a) -> IO ()
g_list_free Ptr (GList (Ptr EncodingProfile))
profiles''
EncodingTarget -> IO EncodingTarget
forall (m :: * -> *) a. Monad m => a -> m a
return EncodingTarget
result'
#if defined(ENABLE_OVERLOADING)
#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 :: a -> b -> m Bool
encodingTargetAddProfile a
target b
profile = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr EncodingTarget
target' <- a -> IO (Ptr EncodingTarget)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
target
Ptr EncodingProfile
profile' <- b -> IO (Ptr EncodingProfile)
forall a b. (HasCallStack, GObject a) => a -> IO (Ptr b)
B.ManagedPtr.disownObject b
profile
CInt
result <- Ptr EncodingTarget -> Ptr EncodingProfile -> IO CInt
gst_encoding_target_add_profile Ptr EncodingTarget
target' Ptr EncodingProfile
profile'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
target
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
profile
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
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 :: a -> m Text
encodingTargetGetCategory a
target = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr EncodingTarget
target' <- a -> IO (Ptr EncodingTarget)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
target
CString
result <- Ptr EncodingTarget -> IO CString
gst_encoding_target_get_category Ptr EncodingTarget
target'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"encodingTargetGetCategory" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
target
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
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 :: a -> m Text
encodingTargetGetDescription a
target = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr EncodingTarget
target' <- a -> IO (Ptr EncodingTarget)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
target
CString
result <- Ptr EncodingTarget -> IO CString
gst_encoding_target_get_description Ptr EncodingTarget
target'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"encodingTargetGetDescription" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
target
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
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 :: a -> m Text
encodingTargetGetName a
target = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr EncodingTarget
target' <- a -> IO (Ptr EncodingTarget)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
target
CString
result <- Ptr EncodingTarget -> IO CString
gst_encoding_target_get_name Ptr EncodingTarget
target'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"encodingTargetGetName" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
target
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
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 :: a -> Text -> m EncodingProfile
encodingTargetGetProfile a
target Text
name = IO EncodingProfile -> m EncodingProfile
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO EncodingProfile -> m EncodingProfile)
-> IO EncodingProfile -> m EncodingProfile
forall a b. (a -> b) -> a -> b
$ do
Ptr EncodingTarget
target' <- a -> IO (Ptr EncodingTarget)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
target
CString
name' <- Text -> IO CString
textToCString Text
name
Ptr EncodingProfile
result <- Ptr EncodingTarget -> CString -> IO (Ptr EncodingProfile)
gst_encoding_target_get_profile Ptr EncodingTarget
target' CString
name'
Text -> Ptr EncodingProfile -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"encodingTargetGetProfile" Ptr EncodingProfile
result
EncodingProfile
result' <- ((ManagedPtr EncodingProfile -> EncodingProfile)
-> Ptr EncodingProfile -> IO EncodingProfile
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr EncodingProfile -> EncodingProfile
GstPbutils.EncodingProfile.EncodingProfile) Ptr EncodingProfile
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
target
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
EncodingProfile -> IO EncodingProfile
forall (m :: * -> *) a. Monad m => a -> m a
return EncodingProfile
result'
#if defined(ENABLE_OVERLOADING)
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 :: a -> m [EncodingProfile]
encodingTargetGetProfiles a
target = IO [EncodingProfile] -> m [EncodingProfile]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [EncodingProfile] -> m [EncodingProfile])
-> IO [EncodingProfile] -> m [EncodingProfile]
forall a b. (a -> b) -> a -> b
$ do
Ptr EncodingTarget
target' <- a -> IO (Ptr EncodingTarget)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
target
Ptr (GList (Ptr EncodingProfile))
result <- Ptr EncodingTarget -> IO (Ptr (GList (Ptr EncodingProfile)))
gst_encoding_target_get_profiles Ptr EncodingTarget
target'
[Ptr EncodingProfile]
result' <- Ptr (GList (Ptr EncodingProfile)) -> IO [Ptr EncodingProfile]
forall a. Ptr (GList (Ptr a)) -> IO [Ptr a]
unpackGList Ptr (GList (Ptr EncodingProfile))
result
[EncodingProfile]
result'' <- (Ptr EncodingProfile -> IO EncodingProfile)
-> [Ptr EncodingProfile] -> IO [EncodingProfile]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM ((ManagedPtr EncodingProfile -> EncodingProfile)
-> Ptr EncodingProfile -> IO EncodingProfile
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr EncodingProfile -> EncodingProfile
GstPbutils.EncodingProfile.EncodingProfile) [Ptr EncodingProfile]
result'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
target
[EncodingProfile] -> IO [EncodingProfile]
forall (m :: * -> *) a. Monad m => a -> m a
return [EncodingProfile]
result''
#if defined(ENABLE_OVERLOADING)
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 :: a -> m ()
encodingTargetSave a
target = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr EncodingTarget
target' <- a -> IO (Ptr EncodingTarget)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
target
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr EncodingTarget -> Ptr (Ptr GError) -> IO CInt
gst_encoding_target_save Ptr EncodingTarget
target'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
target
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
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
-> [Char]
-> m ()
encodingTargetSaveToFile :: a -> [Char] -> m ()
encodingTargetSaveToFile a
target [Char]
filepath = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr EncodingTarget
target' <- a -> IO (Ptr EncodingTarget)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
target
CString
filepath' <- [Char] -> IO CString
stringToCString [Char]
filepath
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr EncodingTarget -> CString -> Ptr (Ptr GError) -> IO CInt
gst_encoding_target_save_to_file Ptr EncodingTarget
target' CString
filepath'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
target
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
filepath'
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
filepath'
)
#if defined(ENABLE_OVERLOADING)
data EncodingTargetSaveToFileMethodInfo
instance (signature ~ ([Char] -> 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 :: Text -> Maybe Text -> m EncodingTarget
encodingTargetLoad Text
name Maybe Text
category = IO EncodingTarget -> m EncodingTarget
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO EncodingTarget -> m EncodingTarget)
-> IO EncodingTarget -> m EncodingTarget
forall a b. (a -> b) -> a -> b
$ do
CString
name' <- Text -> IO CString
textToCString Text
name
CString
maybeCategory <- case Maybe Text
category of
Maybe Text
Nothing -> CString -> IO CString
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
Just Text
jCategory -> do
CString
jCategory' <- Text -> IO CString
textToCString Text
jCategory
CString -> IO CString
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jCategory'
IO EncodingTarget -> IO () -> IO EncodingTarget
forall a b. IO a -> IO b -> IO a
onException (do
Ptr EncodingTarget
result <- (Ptr (Ptr GError) -> IO (Ptr EncodingTarget))
-> IO (Ptr EncodingTarget)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr EncodingTarget))
-> IO (Ptr EncodingTarget))
-> (Ptr (Ptr GError) -> IO (Ptr EncodingTarget))
-> IO (Ptr EncodingTarget)
forall a b. (a -> b) -> a -> b
$ CString -> CString -> Ptr (Ptr GError) -> IO (Ptr EncodingTarget)
gst_encoding_target_load CString
name' CString
maybeCategory
Text -> Ptr EncodingTarget -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"encodingTargetLoad" Ptr EncodingTarget
result
EncodingTarget
result' <- ((ManagedPtr EncodingTarget -> EncodingTarget)
-> Ptr EncodingTarget -> IO EncodingTarget
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr EncodingTarget -> EncodingTarget
EncodingTarget) Ptr EncodingTarget
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeCategory
EncodingTarget -> IO EncodingTarget
forall (m :: * -> *) a. Monad m => a -> m a
return EncodingTarget
result'
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeCategory
)
#if defined(ENABLE_OVERLOADING)
#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) =>
[Char]
-> m EncodingTarget
encodingTargetLoadFromFile :: [Char] -> m EncodingTarget
encodingTargetLoadFromFile [Char]
filepath = IO EncodingTarget -> m EncodingTarget
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO EncodingTarget -> m EncodingTarget)
-> IO EncodingTarget -> m EncodingTarget
forall a b. (a -> b) -> a -> b
$ do
CString
filepath' <- [Char] -> IO CString
stringToCString [Char]
filepath
IO EncodingTarget -> IO () -> IO EncodingTarget
forall a b. IO a -> IO b -> IO a
onException (do
Ptr EncodingTarget
result <- (Ptr (Ptr GError) -> IO (Ptr EncodingTarget))
-> IO (Ptr EncodingTarget)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr EncodingTarget))
-> IO (Ptr EncodingTarget))
-> (Ptr (Ptr GError) -> IO (Ptr EncodingTarget))
-> IO (Ptr EncodingTarget)
forall a b. (a -> b) -> a -> b
$ CString -> Ptr (Ptr GError) -> IO (Ptr EncodingTarget)
gst_encoding_target_load_from_file CString
filepath'
Text -> Ptr EncodingTarget -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"encodingTargetLoadFromFile" Ptr EncodingTarget
result
EncodingTarget
result' <- ((ManagedPtr EncodingTarget -> EncodingTarget)
-> Ptr EncodingTarget -> IO EncodingTarget
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr EncodingTarget -> EncodingTarget
EncodingTarget) Ptr EncodingTarget
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
filepath'
EncodingTarget -> IO EncodingTarget
forall (m :: * -> *) a. Monad m => a -> m a
return EncodingTarget
result'
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
filepath'
)
#if defined(ENABLE_OVERLOADING)
#endif