| Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.GstVideo.Structs.VideoCodecFrame
Description
A VideoCodecFrame represents a video frame both in raw and
encoded form.
Synopsis
- newtype VideoCodecFrame = VideoCodecFrame (ManagedPtr VideoCodecFrame)
- newZeroVideoCodecFrame :: MonadIO m => m 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.
Constructors
| VideoCodecFrame (ManagedPtr VideoCodecFrame) |
Instances
newZeroVideoCodecFrame :: MonadIO m => m VideoCodecFrame Source #
Construct a VideoCodecFrame struct initialized to zero.
Methods
Overloaded methods
getUserData
videoCodecFrameGetUserData Source #
Arguments
| :: (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
Arguments
| :: (HasCallStack, MonadIO m) | |
| => VideoCodecFrame |
|
| -> m VideoCodecFrame | Returns: |
Increases the refcount of the given frame by one.
setUserData
videoCodecFrameSetUserData Source #
Arguments
| :: (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
Arguments
| :: (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
setvideoCodecFrame [ #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
setvideoCodecFrame [ #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
setvideoCodecFrame [ #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
setvideoCodecFrame [ #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
setvideoCodecFrame [ #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
setvideoCodecFrame [ #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
setvideoCodecFrame [ #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
setvideoCodecFrame [ #systemFrameNumber:=value ]