Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (inaki@blueleaf.cc) |
Safe Haskell | None |
Language | Haskell2010 |
The following functions allow you to detect the media type of an unknown stream.
Synopsis
- newtype TypeFind = TypeFind (ManagedPtr TypeFind)
- newZeroTypeFind :: MonadIO m => m TypeFind
- noTypeFind :: Maybe TypeFind
- typeFindGetLength :: (HasCallStack, MonadIO m) => TypeFind -> m Word64
- typeFindPeek :: (HasCallStack, MonadIO m) => TypeFind -> Int64 -> m (Maybe ByteString)
- typeFindRegister :: (HasCallStack, MonadIO m, IsPlugin a) => Maybe a -> Text -> Word32 -> TypeFindFunction -> Maybe Text -> Caps -> m Bool
- typeFindSuggest :: (HasCallStack, MonadIO m) => TypeFind -> Word32 -> Caps -> m ()
- clearTypeFindData :: MonadIO m => TypeFind -> m ()
- getTypeFindData :: MonadIO m => TypeFind -> m (Ptr ())
- setTypeFindData :: MonadIO m => TypeFind -> Ptr () -> m ()
- clearTypeFindGetLength :: MonadIO m => TypeFind -> m ()
- getTypeFindGetLength :: MonadIO m => TypeFind -> m (Maybe TypeFindGetLengthFieldCallback)
- setTypeFindGetLength :: MonadIO m => TypeFind -> FunPtr C_TypeFindGetLengthFieldCallback -> m ()
- clearTypeFindPeek :: MonadIO m => TypeFind -> m ()
- getTypeFindPeek :: MonadIO m => TypeFind -> m (Maybe TypeFindPeekFieldCallback)
- setTypeFindPeek :: MonadIO m => TypeFind -> FunPtr C_TypeFindPeekFieldCallback -> m ()
- clearTypeFindSuggest :: MonadIO m => TypeFind -> m ()
- getTypeFindSuggest :: MonadIO m => TypeFind -> m (Maybe TypeFindSuggestFieldCallback)
- setTypeFindSuggest :: MonadIO m => TypeFind -> FunPtr C_TypeFindSuggestFieldCallback -> m ()
Exported types
Memory-managed wrapper type.
Instances
WrappedPtr TypeFind Source # | |
Defined in GI.Gst.Structs.TypeFind wrappedPtrCalloc :: IO (Ptr TypeFind) # wrappedPtrCopy :: TypeFind -> IO TypeFind # | |
tag ~ AttrSet => Constructible TypeFind tag Source # | |
Defined in GI.Gst.Structs.TypeFind |
Methods
getLength
:: (HasCallStack, MonadIO m) | |
=> TypeFind |
|
-> m Word64 | Returns: The length of the data stream, or 0 if it is not available. |
Get the length of the data stream.
peek
:: (HasCallStack, MonadIO m) | |
=> TypeFind |
|
-> Int64 |
|
-> m (Maybe ByteString) | Returns: the
requested data, or |
Returns the size
bytes of the stream to identify beginning at offset. If
offset is a positive number, the offset is relative to the beginning of the
stream, if offset is a negative number the offset is relative to the end of
the stream. The returned memory is valid until the typefinding function
returns and must not be freed.
register
:: (HasCallStack, MonadIO m, IsPlugin a) | |
=> Maybe a | |
-> Text |
|
-> Word32 |
|
-> TypeFindFunction |
|
-> Maybe Text |
|
-> Caps |
|
-> m Bool |
Registers a new typefind function to be used for typefinding. After registering this function will be available for typefinding. This function is typically called during an element's plugin initialization.
suggest
:: (HasCallStack, MonadIO m) | |
=> TypeFind |
|
-> Word32 |
|
-> Caps |
|
-> m () |
If a TypeFindFunction
calls this function it suggests the caps with the
given probability. A TypeFindFunction
may supply different suggestions
in one call.
It is up to the caller of the TypeFindFunction
to interpret these values.
Properties
data
The data used by the caller of the typefinding function.
clearTypeFindData :: MonadIO m => TypeFind -> m () Source #
Set the value of the “data
” field to Nothing
.
When overloading is enabled, this is equivalent to
clear
#data
getTypeFindData :: MonadIO m => TypeFind -> m (Ptr ()) Source #
Get the value of the “data
” field.
When overloading is enabled, this is equivalent to
get
typeFind #data
setTypeFindData :: MonadIO m => TypeFind -> Ptr () -> m () Source #
Set the value of the “data
” field.
When overloading is enabled, this is equivalent to
set
typeFind [ #data:=
value ]
getLength
No description available in the introspection data.
clearTypeFindGetLength :: MonadIO m => TypeFind -> m () Source #
Set the value of the “get_length
” field to Nothing
.
When overloading is enabled, this is equivalent to
clear
#getLength
getTypeFindGetLength :: MonadIO m => TypeFind -> m (Maybe TypeFindGetLengthFieldCallback) Source #
Get the value of the “get_length
” field.
When overloading is enabled, this is equivalent to
get
typeFind #getLength
setTypeFindGetLength :: MonadIO m => TypeFind -> FunPtr C_TypeFindGetLengthFieldCallback -> m () Source #
Set the value of the “get_length
” field.
When overloading is enabled, this is equivalent to
set
typeFind [ #getLength:=
value ]
peek
No description available in the introspection data.
clearTypeFindPeek :: MonadIO m => TypeFind -> m () Source #
Set the value of the “peek
” field to Nothing
.
When overloading is enabled, this is equivalent to
clear
#peek
getTypeFindPeek :: MonadIO m => TypeFind -> m (Maybe TypeFindPeekFieldCallback) Source #
Get the value of the “peek
” field.
When overloading is enabled, this is equivalent to
get
typeFind #peek
setTypeFindPeek :: MonadIO m => TypeFind -> FunPtr C_TypeFindPeekFieldCallback -> m () Source #
Set the value of the “peek
” field.
When overloading is enabled, this is equivalent to
set
typeFind [ #peek:=
value ]
suggest
No description available in the introspection data.
clearTypeFindSuggest :: MonadIO m => TypeFind -> m () Source #
Set the value of the “suggest
” field to Nothing
.
When overloading is enabled, this is equivalent to
clear
#suggest
getTypeFindSuggest :: MonadIO m => TypeFind -> m (Maybe TypeFindSuggestFieldCallback) Source #
Get the value of the “suggest
” field.
When overloading is enabled, this is equivalent to
get
typeFind #suggest
setTypeFindSuggest :: MonadIO m => TypeFind -> FunPtr C_TypeFindSuggestFieldCallback -> m () Source #
Set the value of the “suggest
” field.
When overloading is enabled, this is equivalent to
set
typeFind [ #suggest:=
value ]