Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
A VideoCodecFrame
represents a video frame both in raw and
encoded form.
- newtype VideoCodecFrame = VideoCodecFrame (ManagedPtr VideoCodecFrame)
- newZeroVideoCodecFrame :: MonadIO m => m VideoCodecFrame
- noVideoCodecFrame :: Maybe VideoCodecFrame
- data VideoCodecFrameGetUserDataMethodInfo
- videoCodecFrameGetUserData :: (HasCallStack, MonadIO m) => VideoCodecFrame -> m (Ptr ())
- data VideoCodecFrameRefMethodInfo
- videoCodecFrameRef :: (HasCallStack, MonadIO m) => VideoCodecFrame -> m VideoCodecFrame
- data VideoCodecFrameSetUserDataMethodInfo
- videoCodecFrameSetUserData :: (HasCallStack, MonadIO m) => VideoCodecFrame -> DestroyNotify -> m ()
- data VideoCodecFrameUnrefMethodInfo
- videoCodecFrameUnref :: (HasCallStack, MonadIO m) => VideoCodecFrame -> m ()
- getVideoCodecFrameDeadline :: MonadIO m => VideoCodecFrame -> m Word64
- setVideoCodecFrameDeadline :: MonadIO m => VideoCodecFrame -> Word64 -> m ()
- videoCodecFrame_deadline :: AttrLabelProxy "deadline"
- getVideoCodecFrameDecodeFrameNumber :: MonadIO m => VideoCodecFrame -> m Word32
- setVideoCodecFrameDecodeFrameNumber :: MonadIO m => VideoCodecFrame -> Word32 -> m ()
- videoCodecFrame_decodeFrameNumber :: AttrLabelProxy "decodeFrameNumber"
- getVideoCodecFrameDistanceFromSync :: MonadIO m => VideoCodecFrame -> m Int32
- setVideoCodecFrameDistanceFromSync :: MonadIO m => VideoCodecFrame -> Int32 -> m ()
- videoCodecFrame_distanceFromSync :: AttrLabelProxy "distanceFromSync"
- getVideoCodecFrameDts :: MonadIO m => VideoCodecFrame -> m Word64
- setVideoCodecFrameDts :: MonadIO m => VideoCodecFrame -> Word64 -> m ()
- videoCodecFrame_dts :: AttrLabelProxy "dts"
- getVideoCodecFrameDuration :: MonadIO m => VideoCodecFrame -> m Word64
- setVideoCodecFrameDuration :: MonadIO m => VideoCodecFrame -> Word64 -> m ()
- videoCodecFrame_duration :: AttrLabelProxy "duration"
- clearVideoCodecFrameInputBuffer :: MonadIO m => VideoCodecFrame -> m ()
- getVideoCodecFrameInputBuffer :: MonadIO m => VideoCodecFrame -> m (Maybe Buffer)
- setVideoCodecFrameInputBuffer :: MonadIO m => VideoCodecFrame -> Ptr Buffer -> m ()
- videoCodecFrame_inputBuffer :: AttrLabelProxy "inputBuffer"
- clearVideoCodecFrameOutputBuffer :: MonadIO m => VideoCodecFrame -> m ()
- getVideoCodecFrameOutputBuffer :: MonadIO m => VideoCodecFrame -> m (Maybe Buffer)
- setVideoCodecFrameOutputBuffer :: MonadIO m => VideoCodecFrame -> Ptr Buffer -> m ()
- videoCodecFrame_outputBuffer :: AttrLabelProxy "outputBuffer"
- getVideoCodecFramePresentationFrameNumber :: MonadIO m => VideoCodecFrame -> m Word32
- setVideoCodecFramePresentationFrameNumber :: MonadIO m => VideoCodecFrame -> Word32 -> m ()
- videoCodecFrame_presentationFrameNumber :: AttrLabelProxy "presentationFrameNumber"
- getVideoCodecFramePts :: MonadIO m => VideoCodecFrame -> m Word64
- setVideoCodecFramePts :: MonadIO m => VideoCodecFrame -> Word64 -> m ()
- videoCodecFrame_pts :: AttrLabelProxy "pts"
- getVideoCodecFrameSystemFrameNumber :: MonadIO m => VideoCodecFrame -> m Word32
- setVideoCodecFrameSystemFrameNumber :: MonadIO m => VideoCodecFrame -> Word32 -> m ()
- videoCodecFrame_systemFrameNumber :: AttrLabelProxy "systemFrameNumber"
Exported types
newtype VideoCodecFrame Source #
newZeroVideoCodecFrame :: MonadIO m => m VideoCodecFrame Source #
Construct a VideoCodecFrame
struct initialized to zero.
Methods
getUserData
data VideoCodecFrameGetUserDataMethodInfo Source #
((~) * signature (m (Ptr ())), MonadIO m) => MethodInfo * VideoCodecFrameGetUserDataMethodInfo VideoCodecFrame signature Source # | |
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
data VideoCodecFrameRefMethodInfo Source #
((~) * signature (m VideoCodecFrame), MonadIO m) => MethodInfo * VideoCodecFrameRefMethodInfo VideoCodecFrame signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> VideoCodecFrame |
|
-> m VideoCodecFrame | Returns: |
Increases the refcount of the given frame by one.
setUserData
data VideoCodecFrameSetUserDataMethodInfo Source #
((~) * signature (DestroyNotify -> m ()), MonadIO m) => MethodInfo * VideoCodecFrameSetUserDataMethodInfo VideoCodecFrame signature Source # | |
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
data VideoCodecFrameUnrefMethodInfo Source #
((~) * signature (m ()), MonadIO m) => MethodInfo * VideoCodecFrameUnrefMethodInfo VideoCodecFrame signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> VideoCodecFrame |
|
-> m () |
Decreases the refcount of the frame. If the refcount reaches 0, the frame will be freed.
Properties
deadline
getVideoCodecFrameDeadline :: MonadIO m => VideoCodecFrame -> m Word64 Source #
setVideoCodecFrameDeadline :: MonadIO m => VideoCodecFrame -> Word64 -> m () Source #
videoCodecFrame_deadline :: AttrLabelProxy "deadline" Source #
decodeFrameNumber
getVideoCodecFrameDecodeFrameNumber :: MonadIO m => VideoCodecFrame -> m Word32 Source #
setVideoCodecFrameDecodeFrameNumber :: MonadIO m => VideoCodecFrame -> Word32 -> m () Source #
videoCodecFrame_decodeFrameNumber :: AttrLabelProxy "decodeFrameNumber" Source #
distanceFromSync
getVideoCodecFrameDistanceFromSync :: MonadIO m => VideoCodecFrame -> m Int32 Source #
setVideoCodecFrameDistanceFromSync :: MonadIO m => VideoCodecFrame -> Int32 -> m () Source #
videoCodecFrame_distanceFromSync :: AttrLabelProxy "distanceFromSync" Source #
dts
getVideoCodecFrameDts :: MonadIO m => VideoCodecFrame -> m Word64 Source #
setVideoCodecFrameDts :: MonadIO m => VideoCodecFrame -> Word64 -> m () Source #
videoCodecFrame_dts :: AttrLabelProxy "dts" Source #
duration
getVideoCodecFrameDuration :: MonadIO m => VideoCodecFrame -> m Word64 Source #
setVideoCodecFrameDuration :: MonadIO m => VideoCodecFrame -> Word64 -> m () Source #
videoCodecFrame_duration :: AttrLabelProxy "duration" Source #
inputBuffer
clearVideoCodecFrameInputBuffer :: MonadIO m => VideoCodecFrame -> m () Source #
getVideoCodecFrameInputBuffer :: MonadIO m => VideoCodecFrame -> m (Maybe Buffer) Source #
setVideoCodecFrameInputBuffer :: MonadIO m => VideoCodecFrame -> Ptr Buffer -> m () Source #
videoCodecFrame_inputBuffer :: AttrLabelProxy "inputBuffer" Source #
outputBuffer
clearVideoCodecFrameOutputBuffer :: MonadIO m => VideoCodecFrame -> m () Source #
getVideoCodecFrameOutputBuffer :: MonadIO m => VideoCodecFrame -> m (Maybe Buffer) Source #
setVideoCodecFrameOutputBuffer :: MonadIO m => VideoCodecFrame -> Ptr Buffer -> m () Source #
videoCodecFrame_outputBuffer :: AttrLabelProxy "outputBuffer" Source #
presentationFrameNumber
setVideoCodecFramePresentationFrameNumber :: MonadIO m => VideoCodecFrame -> Word32 -> m () Source #
videoCodecFrame_presentationFrameNumber :: AttrLabelProxy "presentationFrameNumber" Source #
pts
getVideoCodecFramePts :: MonadIO m => VideoCodecFrame -> m Word64 Source #
setVideoCodecFramePts :: MonadIO m => VideoCodecFrame -> Word64 -> m () Source #
videoCodecFrame_pts :: AttrLabelProxy "pts" Source #
systemFrameNumber
getVideoCodecFrameSystemFrameNumber :: MonadIO m => VideoCodecFrame -> m Word32 Source #
setVideoCodecFrameSystemFrameNumber :: MonadIO m => VideoCodecFrame -> Word32 -> m () Source #
videoCodecFrame_systemFrameNumber :: AttrLabelProxy "systemFrameNumber" Source #