MLT  7.38.0
Multimedia Framework
Public Member Functions | Private Attributes
Mlt::Frame Class Reference

C++ wrapper for mlt_frame — a single unit of audio/video data. More...

#include <MltFrame.h>

Inheritance diagram for Mlt::Frame:
Inheritance graph
[legend]
Collaboration diagram for Mlt::Frame:
Collaboration graph
[legend]

Public Member Functions

unsigned char * fetch_image (mlt_image_format format, int w, int h, int writable=0)
 Scale the image to exactly w x h before returning. More...
 
 Frame ()
 
 Frame (const Frame &frame)
 
 Frame (Frame &frame)
 
 Frame (mlt_frame frame)
 Wrap an existing mlt_frame handle. More...
 
void * get_audio (mlt_audio_format &format, int &frequency, int &channels, int &samples)
 Decode and return raw audio samples. More...
 
virtual mlt_frame get_frame ()
 
uint8_t * get_image (mlt_image_format &format, int &w, int &h, int writable=0)
 Decode and return the pixel buffer in the requested format. More...
 
Producerget_original_producer ()
 Return the producer that originally created this frame. More...
 
int get_position ()
 Return the absolute frame position. More...
 
mlt_properties get_properties () override
 
mlt_properties get_unique_properties (Service &service)
 Return the per-frame property bag for service (thread-safe). More...
 
unsigned char * get_waveform (int w, int h)
 Render a waveform image of size w x h. More...
 
Frameoperator= (const Frame &frame)
 
int set_alpha (uint8_t *alpha, int size, mlt_destructor destroy)
 
int set_image (uint8_t *image, int size, mlt_destructor destroy)
 
virtual ~Frame ()
 
- Public Member Functions inherited from Mlt::Properties
char * anim_get (const char *name, int position, int length=0)
 
mlt_color anim_get_color (const char *name, int position, int length=0)
 
double anim_get_double (const char *name, int position, int length=0)
 
int anim_get_int (const char *name, int position, int length=0)
 
mlt_rect anim_get_rect (const char *name, int position, int length=0)
 
int anim_set (const char *name, const char *value, int position, int length=0)
 
int anim_set (const char *name, double value, int position, int length=0, mlt_keyframe_type keyframe_type=mlt_keyframe_linear)
 
int anim_set (const char *name, int value, int position, int length=0, mlt_keyframe_type keyframe_type=mlt_keyframe_linear)
 
int anim_set (const char *name, mlt_color value, int position, int length=0, mlt_keyframe_type keyframe_type=mlt_keyframe_linear)
 
int anim_set (const char *name, mlt_rect value, int position, int length=0, mlt_keyframe_type keyframe_type=mlt_keyframe_linear)
 
void block (void *object=NULL)
 Suppress event delivery to object. More...
 
void clear (const char *name)
 
int copy (Properties &that, const char *prefix)
 Copy all properties whose names begin with prefix from that. More...
 
int count ()
 Return the number of name/value pairs stored. More...
 
void debug (const char *title="Object", FILE *output=stderr)
 
int dec_ref ()
 
void dump (FILE *output=stderr)
 Write all properties to output as "name=value" lines. More...
 
int fire_event (const char *event)
 Fire a named event manually. More...
 
char * frames_to_time (int, mlt_time_format=mlt_time_smpte_df)
 
char * get (const char *name)
 Get a string property value by name. More...
 
char * get (int index)
 Return the property value at positional index as a string. More...
 
char * get (int index, mlt_time_format)
 Return the property value at positional index in the given time format. More...
 
Animationget_anim (const char *name)
 
mlt_animation get_animation (const char *name)
 
mlt_color get_color (const char *name)
 
void * get_data (const char *name)
 
void * get_data (const char *name, int &size)
 Get opaque data stored by name; size receives the byte count. More...
 
void * get_data (int index, int &size)
 
double get_double (const char *name)
 Get a double property value by name. More...
 
int get_int (const char *name)
 Get an integer property value by name. More...
 
int64_t get_int64 (const char *name)
 Get a 64-bit integer property value by name. More...
 
const char * get_lcnumeric ()
 
char * get_name (int index)
 Return the property name at positional index. More...
 
Propertiesget_props (const char *name)
 
Propertiesget_props_at (int index)
 
mlt_rect get_rect (const char *name)
 
char * get_time (const char *name, mlt_time_format=mlt_time_smpte_df)
 
int inc_ref ()
 
int inherit (Properties &that)
 Copy all properties from that into this object. More...
 
bool is_anim (const char *name)
 
bool is_sequence ()
 Return true if all property names are numeric indices (i.e. More...
 
bool is_valid ()
 Return true if the underlying mlt_properties handle is non-null. More...
 
Eventlisten (const char *id, void *object, mlt_listener)
 Register a listener callback for the named event. More...
 
void load (const char *file)
 Merge properties from a file into this object. More...
 
void lock ()
 Acquire the recursive mutex protecting this object. More...
 
void mirror (Properties &that)
 Mirror all property changes on this object to that. More...
 
Propertiesoperator= (const Properties &properties)
 
int parse (const char *namevalue)
 Parse a "name=value" string and store the result. More...
 
int pass_list (Properties &that, const char *list)
 Copy the space-delimited list of named properties from that. More...
 
void pass_property (Properties &that, const char *name)
 Copy a single named property from that. More...
 
int pass_values (Properties &that, const char *prefix)
 Copy all properties whose names begin with prefix from that. More...
 
int preset (const char *name)
 Apply a named preset from the presets directory. More...
 
 Properties ()
 
 Properties (bool dummy)
 
 Properties (const char *file)
 Load properties from a file. More...
 
 Properties (const Properties &properties)
 
 Properties (mlt_properties properties)
 Wrap an existing mlt_properties without taking ownership. More...
 
 Properties (Properties &properties)
 
 Properties (void *properties)
 
bool property_exists (const char *name)
 
int ref_count ()
 
int rename (const char *source, const char *dest)
 Rename property source to dest. More...
 
int save (const char *file)
 Save properties to a file. More...
 
char * serialise_yaml ()
 
int set (const char *name, const char *value)
 Set a string property. More...
 
int set (const char *name, double value)
 Set a double property. More...
 
int set (const char *name, double x, double y, double w, double h, double opacity=1.0)
 
int set (const char *name, int value)
 Set an integer property. More...
 
int set (const char *name, int64_t value)
 Set a 64-bit integer property. More...
 
int set (const char *name, mlt_color value)
 
int set (const char *name, mlt_rect value)
 
int set (const char *name, Properties &properties)
 
int set (const char *name, void *value, int size, mlt_destructor destroy=NULL, mlt_serialiser serial=NULL)
 Store opaque data with an optional destructor and serialiser. More...
 
int set_lcnumeric (const char *locale)
 
int set_string (const char *name, const char *value)
 Set a string property (no environment-variable expansion). More...
 
Eventsetup_wait_for (const char *id)
 Set up a one-shot wait handle for event id. More...
 
int time_to_frames (const char *time)
 
void unblock (void *object=NULL)
 Resume event delivery to object. More...
 
void unlock ()
 Release the recursive mutex. More...
 
void wait_for (const char *id)
 
void wait_for (Event *, bool destroy=true)
 
virtual ~Properties ()
 

Private Attributes

mlt_frame instance
 

Additional Inherited Members

- Static Public Member Functions inherited from Mlt::Properties
static void delete_event (Event *)
 
static Propertiesparse_yaml (const char *file)
 Parse a YAML Tiny file and return a new Properties tree. More...
 

Detailed Description

C++ wrapper for mlt_frame — a single unit of audio/video data.

A frame carries all data for one rendered moment: pixel buffer, audio samples, and per-frame properties. Frames are obtained from a service via Service::get_frame() and are owned by the caller.

See also
mlt_frame_s

Constructor & Destructor Documentation

◆ Frame() [1/4]

Frame::Frame ( )

◆ Frame() [2/4]

Frame::Frame ( mlt_frame  frame)

Wrap an existing mlt_frame handle.

◆ Frame() [3/4]

Frame::Frame ( Frame frame)

◆ Frame() [4/4]

Frame::Frame ( const Frame frame)

◆ ~Frame()

Frame::~Frame ( )
virtual

Member Function Documentation

◆ fetch_image()

unsigned char * Frame::fetch_image ( mlt_image_format  format,
int  w,
int  h,
int  writable = 0 
)

Scale the image to exactly w x h before returning.

◆ get_audio()

void * Frame::get_audio ( mlt_audio_format format,
int &  frequency,
int &  channels,
int &  samples 
)

Decode and return raw audio samples.

◆ get_frame()

mlt_frame Frame::get_frame ( )
virtual

◆ get_image()

uint8_t * Frame::get_image ( mlt_image_format format,
int &  w,
int &  h,
int  writable = 0 
)

Decode and return the pixel buffer in the requested format.

On return w and h contain the actual dimensions.

◆ get_original_producer()

Producer * Frame::get_original_producer ( )

Return the producer that originally created this frame.

Caller owns the result.

◆ get_position()

int Frame::get_position ( )

Return the absolute frame position.

◆ get_properties()

mlt_properties Frame::get_properties ( )
overridevirtual

Reimplemented from Mlt::Properties.

◆ get_unique_properties()

mlt_properties Frame::get_unique_properties ( Service service)

Return the per-frame property bag for service (thread-safe).

◆ get_waveform()

unsigned char * Frame::get_waveform ( int  w,
int  h 
)

Render a waveform image of size w x h.

Caller owns result.

◆ operator=()

Frame & Frame::operator= ( const Frame frame)

◆ set_alpha()

int Frame::set_alpha ( uint8_t *  alpha,
int  size,
mlt_destructor  destroy 
)

◆ set_image()

int Frame::set_image ( uint8_t *  image,
int  size,
mlt_destructor  destroy 
)

Field Documentation

◆ instance

mlt_frame Mlt::Frame::instance
private

The documentation for this class was generated from the following files: