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 |
A VideoCodecFrame
represents a video frame both in raw and
encoded form.
Synopsis
- newtype VideoCodecFrame = VideoCodecFrame (ManagedPtr VideoCodecFrame)
- newZeroVideoCodecFrame :: MonadIO m => m VideoCodecFrame
- noVideoCodecFrame :: Maybe VideoCodecFrame
- videoCodecFrameGetUserData :: (HasCallStack, MonadIO m) => VideoCodecFrame -> m (Ptr ())
- videoCodecFrameRef :: (HasCallStack, MonadIO m) => VideoCodecFrame -> m VideoCodecFrame
- videoCodecFrameSetUserData :: (HasCallStack, MonadIO m) => VideoCodecFrame -> DestroyNotify -> m ()
- videoCodecFrameUnref :: (HasCallStack, MonadIO m) => VideoCodecFrame -> m ()
- getVideoCodecFrameDeadline :: MonadIO m => VideoCodecFrame -> m Word64
- setVideoCodecFrameDeadline :: MonadIO m => VideoCodecFrame -> Word64 -> m ()
- getVideoCodecFrameDistanceFromSync :: MonadIO m => VideoCodecFrame -> m Int32
- setVideoCodecFrameDistanceFromSync :: MonadIO m => VideoCodecFrame -> Int32 -> m ()
- getVideoCodecFrameDts :: MonadIO m => VideoCodecFrame -> m Word64
- setVideoCodecFrameDts :: MonadIO m => VideoCodecFrame -> Word64 -> m ()
- getVideoCodecFrameDuration :: MonadIO m => VideoCodecFrame -> m Word64
- setVideoCodecFrameDuration :: MonadIO m => VideoCodecFrame -> Word64 -> m ()
- clearVideoCodecFrameInputBuffer :: MonadIO m => VideoCodecFrame -> m ()
- getVideoCodecFrameInputBuffer :: MonadIO m => VideoCodecFrame -> m (Maybe Buffer)
- setVideoCodecFrameInputBuffer :: MonadIO m => VideoCodecFrame -> Ptr Buffer -> m ()
- clearVideoCodecFrameOutputBuffer :: MonadIO m => VideoCodecFrame -> m ()
- getVideoCodecFrameOutputBuffer :: MonadIO m => VideoCodecFrame -> m (Maybe Buffer)
- setVideoCodecFrameOutputBuffer :: MonadIO m => VideoCodecFrame -> Ptr Buffer -> m ()
- getVideoCodecFramePts :: MonadIO m => VideoCodecFrame -> m Word64
- setVideoCodecFramePts :: MonadIO m => VideoCodecFrame -> Word64 -> m ()
- getVideoCodecFrameSystemFrameNumber :: MonadIO m => VideoCodecFrame -> m Word32
- setVideoCodecFrameSystemFrameNumber :: MonadIO m => VideoCodecFrame -> Word32 -> m ()
Exported types
newtype VideoCodecFrame Source #
Memory-managed wrapper type.
Instances
BoxedObject VideoCodecFrame Source # | |
Defined in GI.GstVideo.Structs.VideoCodecFrame boxedType :: VideoCodecFrame -> IO GType # | |
tag ~ AttrSet => Constructible VideoCodecFrame tag Source # | |
Defined in GI.GstVideo.Structs.VideoCodecFrame new :: MonadIO m => (ManagedPtr VideoCodecFrame -> VideoCodecFrame) -> [AttrOp VideoCodecFrame tag] -> m VideoCodecFrame # |
newZeroVideoCodecFrame :: MonadIO m => m VideoCodecFrame Source #
Construct a VideoCodecFrame
struct initialized to zero.
noVideoCodecFrame :: Maybe VideoCodecFrame Source #
A convenience alias for Nothing
:: Maybe
VideoCodecFrame
.
Methods
getUserData
videoCodecFrameGetUserData Source #
:: (HasCallStack, MonadIO m) | |
=> VideoCodecFrame |
|
-> m (Ptr ()) | Returns: The previously set user_data |
Gets private data set on the frame by the subclass via
videoCodecFrameSetUserData
previously.
ref
:: (HasCallStack, MonadIO m) | |
=> VideoCodecFrame |
|
-> m VideoCodecFrame | Returns: |
Increases the refcount of the given frame by one.
setUserData
videoCodecFrameSetUserData Source #
:: (HasCallStack, MonadIO m) | |
=> VideoCodecFrame |
|
-> DestroyNotify |
|
-> m () |
Sets userData
on the frame and the DestroyNotify
that will be called when
the frame is freed. Allows to attach private data by the subclass to frames.
If a userData
was previously set, then the previous set notify
will be called
before the userData
is replaced.
unref
:: (HasCallStack, MonadIO m) | |
=> VideoCodecFrame |
|
-> m () |
Decreases the refcount of the frame. If the refcount reaches 0, the frame will be freed.
Properties
deadline
Running time when the frame will be used.
getVideoCodecFrameDeadline :: MonadIO m => VideoCodecFrame -> m Word64 Source #
Get the value of the “deadline
” field.
When overloading is enabled, this is equivalent to
get
videoCodecFrame #deadline
setVideoCodecFrameDeadline :: MonadIO m => VideoCodecFrame -> Word64 -> m () Source #
Set the value of the “deadline
” field.
When overloading is enabled, this is equivalent to
set
videoCodecFrame [ #deadline:=
value ]
distanceFromSync
Distance in frames from the last synchronization point.
getVideoCodecFrameDistanceFromSync :: MonadIO m => VideoCodecFrame -> m Int32 Source #
Get the value of the “distance_from_sync
” field.
When overloading is enabled, this is equivalent to
get
videoCodecFrame #distanceFromSync
setVideoCodecFrameDistanceFromSync :: MonadIO m => VideoCodecFrame -> Int32 -> m () Source #
Set the value of the “distance_from_sync
” field.
When overloading is enabled, this is equivalent to
set
videoCodecFrame [ #distanceFromSync:=
value ]
dts
Decoding timestamp
getVideoCodecFrameDts :: MonadIO m => VideoCodecFrame -> m Word64 Source #
Get the value of the “dts
” field.
When overloading is enabled, this is equivalent to
get
videoCodecFrame #dts
setVideoCodecFrameDts :: MonadIO m => VideoCodecFrame -> Word64 -> m () Source #
Set the value of the “dts
” field.
When overloading is enabled, this is equivalent to
set
videoCodecFrame [ #dts:=
value ]
duration
Duration of the frame
getVideoCodecFrameDuration :: MonadIO m => VideoCodecFrame -> m Word64 Source #
Get the value of the “duration
” field.
When overloading is enabled, this is equivalent to
get
videoCodecFrame #duration
setVideoCodecFrameDuration :: MonadIO m => VideoCodecFrame -> Word64 -> m () Source #
Set the value of the “duration
” field.
When overloading is enabled, this is equivalent to
set
videoCodecFrame [ #duration:=
value ]
inputBuffer
the input Buffer
that created this frame. The buffer is owned
by the frame and references to the frame instead of the buffer should
be kept.
clearVideoCodecFrameInputBuffer :: MonadIO m => VideoCodecFrame -> m () Source #
Set the value of the “input_buffer
” field to Nothing
.
When overloading is enabled, this is equivalent to
clear
#inputBuffer
getVideoCodecFrameInputBuffer :: MonadIO m => VideoCodecFrame -> m (Maybe Buffer) Source #
Get the value of the “input_buffer
” field.
When overloading is enabled, this is equivalent to
get
videoCodecFrame #inputBuffer
setVideoCodecFrameInputBuffer :: MonadIO m => VideoCodecFrame -> Ptr Buffer -> m () Source #
Set the value of the “input_buffer
” field.
When overloading is enabled, this is equivalent to
set
videoCodecFrame [ #inputBuffer:=
value ]
outputBuffer
the output Buffer
. Implementations should set this either
directly, or by using the
gstVideoDecoderAllocateOutputFrame
() or
gstVideoDecoderAllocateOutputBuffer
() methods. The buffer is
owned by the frame and references to the frame instead of the
buffer should be kept.
clearVideoCodecFrameOutputBuffer :: MonadIO m => VideoCodecFrame -> m () Source #
Set the value of the “output_buffer
” field to Nothing
.
When overloading is enabled, this is equivalent to
clear
#outputBuffer
getVideoCodecFrameOutputBuffer :: MonadIO m => VideoCodecFrame -> m (Maybe Buffer) Source #
Get the value of the “output_buffer
” field.
When overloading is enabled, this is equivalent to
get
videoCodecFrame #outputBuffer
setVideoCodecFrameOutputBuffer :: MonadIO m => VideoCodecFrame -> Ptr Buffer -> m () Source #
Set the value of the “output_buffer
” field.
When overloading is enabled, this is equivalent to
set
videoCodecFrame [ #outputBuffer:=
value ]
pts
Presentation timestamp
getVideoCodecFramePts :: MonadIO m => VideoCodecFrame -> m Word64 Source #
Get the value of the “pts
” field.
When overloading is enabled, this is equivalent to
get
videoCodecFrame #pts
setVideoCodecFramePts :: MonadIO m => VideoCodecFrame -> Word64 -> m () Source #
Set the value of the “pts
” field.
When overloading is enabled, this is equivalent to
set
videoCodecFrame [ #pts:=
value ]
systemFrameNumber
Unique identifier for the frame. Use this if you need
to get hold of the frame later (like when data is being decoded).
Typical usage in decoders is to set this on the opaque value provided
to the library and get back the frame using videoDecoderGetFrame
getVideoCodecFrameSystemFrameNumber :: MonadIO m => VideoCodecFrame -> m Word32 Source #
Get the value of the “system_frame_number
” field.
When overloading is enabled, this is equivalent to
get
videoCodecFrame #systemFrameNumber
setVideoCodecFrameSystemFrameNumber :: MonadIO m => VideoCodecFrame -> Word32 -> m () Source #
Set the value of the “system_frame_number
” field.
When overloading is enabled, this is equivalent to
set
videoCodecFrame [ #systemFrameNumber:=
value ]