libvdo
vdo-frame.h
Go to the documentation of this file.
1 
9 #ifndef __VDO_FRAME_H__
10 #define __VDO_FRAME_H__
11 
12 #include "vdo-map.h"
13 #include "vdo-types.h"
14 
15 #include <gio/gio.h>
16 
17 G_BEGIN_DECLS
18 
23 #define VDO_TYPE_FRAME (vdo_frame_get_type())
24 G_DECLARE_FINAL_TYPE(VdoFrame, vdo_frame, VDO, FRAME, GObject)
25 
26 typedef void(*VdoFrameFinalizer)(VdoFrame *self);
27 
36 
48 
56 guint64 vdo_frame_get_timestamp(VdoFrame *self);
57 
66 
74 gsize vdo_frame_get_size(VdoFrame *self);
75 
88 
97 gint vdo_frame_get_fd(VdoFrame *self);
98 
107 
116 gpointer vdo_frame_get_opaque(VdoFrame *self);
117 
125 gboolean vdo_frame_get_is_last_buffer(VdoFrame *self);
126 
133 void vdo_frame_set_size(VdoFrame *self, gsize size);
134 
142 
149 void vdo_frame_set_sequence_nbr(VdoFrame *self, guint seqnum);
150 
157 void vdo_frame_set_timestamp(VdoFrame *self, guint64 timestamp);
158 
165 void vdo_frame_set_custom_timestamp(VdoFrame *self, gint64 timestamp);
166 
173 void vdo_frame_set_is_last_buffer(VdoFrame *self, gboolean is_last_buffer);
174 
181 void vdo_frame_set_extra_info(VdoFrame *self, VdoMap *extra_info);
182 
193 void vdo_frame_set_header_size(VdoFrame *self, gssize size);
194 
206 gpointer vdo_frame_memmap(VdoFrame *self);
207 
213 void vdo_frame_unmap(VdoFrame *self);
214 
231 VdoChunk vdo_frame_take_chunk(VdoFrame *self, GError **error);
232 
233 G_END_DECLS
234 
235 #endif
guint64 vdo_frame_get_timestamp(VdoFrame *self)
Returns the timestamp of this frame.
void vdo_frame_set_custom_timestamp(VdoFrame *self, gint64 timestamp)
Returns a custom timestamp of this frame.
void vdo_frame_set_is_last_buffer(VdoFrame *self, gboolean is_last_buffer)
Marks this frame as last buffer.
VdoFrameType vdo_frame_get_frame_type(VdoFrame *self)
Returns the type of this frame.
void vdo_frame_set_extra_info(VdoFrame *self, VdoMap *extra_info)
Sets the extra info of this frame.
void vdo_frame_set_frame_type(VdoFrame *self, VdoFrameType type)
Sets the type of this frame.
gpointer vdo_frame_get_opaque(VdoFrame *self)
Returns a pointer to the opaque data of this frame.
void vdo_frame_set_timestamp(VdoFrame *self, guint64 timestamp)
Sets the timestamp of this frame.
VdoFrameType
Video frame types.
Definition: vdo-types.h:129
A class representing a dictionary mapping keys to values.
Vdo common type definitions.
void vdo_frame_set_sequence_nbr(VdoFrame *self, guint seqnum)
Sets the sequence number of this frame.
gint64 vdo_frame_get_custom_timestamp(VdoFrame *self)
Returns a custom timestamp for this frame.
gint vdo_frame_get_fd(VdoFrame *self)
Returns a file descriptor for this frame.
void vdo_frame_set_size(VdoFrame *self, gsize size)
Sets the size of this frame.
gsize vdo_frame_get_size(VdoFrame *self)
Returns the size of this frame.
VdoChunk vdo_frame_take_chunk(VdoFrame *self, GError **error)
Iterate buffer contents by chunks.
guint vdo_frame_get_sequence_nbr(VdoFrame *self)
Returns the sequence number of this frame.
gssize vdo_frame_get_header_size(VdoFrame *self)
Returns the size of any H264/H265 headers contained in this frame.
A class representing a dictionary mapping keys to values.
void vdo_frame_unmap(VdoFrame *self)
Unmaps the frame from current process memory.
A video frame.
gboolean vdo_frame_get_is_last_buffer(VdoFrame *self)
Tests whether this frame is last buffer.
VdoMap * vdo_frame_get_extra_info(VdoFrame *self)
Returns the extra info of this frame.
A video chunk.
Definition: vdo-types.h:175
void vdo_frame_set_header_size(VdoFrame *self, gssize size)
Sets the header size of this frame, normally used for H26x frames.
gpointer vdo_frame_memmap(VdoFrame *self)
A convenience function that maps the frame into current process memory.