MLT  7.22.0
Public Member Functions | Data Fields | Protected Attributes | Private Attributes
mlt_link_s Struct Reference

Link class. More...

#include <mlt_link.h>

Inheritance diagram for mlt_link_s:
mlt_producer_s mlt_service_s mlt_properties_s

Public Member Functions

void mlt_link_close (mlt_link self)
 Close the link and free its resources. More...
 
int mlt_link_connect_next (mlt_link self, mlt_producer next, mlt_profile chain_profile)
 Connect this link to the next producer. More...
 
mlt_link mlt_link_filter_init (mlt_profile profile, mlt_service_type type, const char *id, char *arg)
 Construct a link as a wrapper for the specified filter. More...
 
mlt_properties mlt_link_filter_metadata (mlt_service_type type, const char *id, void *data)
 Get the metadata about a link that is wrapping a filter. More...
 
mlt_link mlt_link_init ()
 Construct a link. More...
 
- Public Member Functions inherited from mlt_producer_s
int mlt_producer_attach (mlt_producer self, mlt_filter filter)
 Attach a filter. More...
 
int mlt_producer_clear (mlt_producer self)
 Physically reduce the producer (typically a cut) to a 0 length. More...
 
void mlt_producer_close (mlt_producer self)
 Close the producer. More...
 
mlt_producer mlt_producer_cut (mlt_producer self, int in, int out)
 Create a cut of this producer. More...
 
mlt_producer mlt_producer_cut_parent (mlt_producer self)
 Obtain the parent producer. More...
 
int mlt_producer_detach (mlt_producer self, mlt_filter filter)
 Detach a filter. More...
 
mlt_filter mlt_producer_filter (mlt_producer self, int index)
 Retrieve a filter. More...
 
mlt_position mlt_producer_frame (mlt_producer self)
 Get the current position (relative to start of producer). More...
 
char * mlt_producer_frame_time (mlt_producer self, mlt_time_format format)
 Get the current position (relative to start of producer) as a time string. More...
 
int64_t mlt_producer_get_creation_time (mlt_producer self)
 Get the creation time for the producer. More...
 
double mlt_producer_get_fps (mlt_producer self)
 Get the frames per second. More...
 
mlt_position mlt_producer_get_in (mlt_producer self)
 Get the in point. More...
 
mlt_position mlt_producer_get_length (mlt_producer self)
 Get the total, unedited length of the producer. More...
 
char * mlt_producer_get_length_time (mlt_producer self, mlt_time_format format)
 Get the total, unedited length of the producer as a time string. More...
 
mlt_position mlt_producer_get_out (mlt_producer self)
 Get the out point. More...
 
mlt_position mlt_producer_get_playtime (mlt_producer self)
 Get the total play time. More...
 
double mlt_producer_get_speed (mlt_producer self)
 Get the playing speed. More...
 
int mlt_producer_init (mlt_producer self, void *child)
 Initialize a producer service. More...
 
int mlt_producer_is_blank (mlt_producer self)
 Determine if the producer is a blank. More...
 
int mlt_producer_is_cut (mlt_producer self)
 Determine if producer is a cut. More...
 
int mlt_producer_is_mix (mlt_producer self)
 Determine if producer is a mix. More...
 
mlt_producer mlt_producer_new (mlt_profile profile)
 Create and initialize a new producer. More...
 
int mlt_producer_optimise (mlt_producer self)
 Optimise for overlapping cuts from the same clip. More...
 
mlt_position mlt_producer_position (mlt_producer self)
 Get the current position (relative to in point). More...
 
void mlt_producer_prepare_next (mlt_producer self)
 Prepare for next frame. More...
 
int mlt_producer_probe (mlt_producer self)
 Probe the producer to publish metadata properties. More...
 
mlt_properties mlt_producer_properties (mlt_producer self)
 Get the producer properties. More...
 
int mlt_producer_seek (mlt_producer self, mlt_position position)
 Seek to a specified position. More...
 
int mlt_producer_seek_time (mlt_producer self, const char *time)
 Seek to a specified time string. More...
 
mlt_service mlt_producer_service (mlt_producer self)
 Get the parent service object. More...
 
void mlt_producer_set_creation_time (mlt_producer self, int64_t creation_time)
 Set the creation time for the producer. More...
 
int mlt_producer_set_in_and_out (mlt_producer self, mlt_position in, mlt_position out)
 Set the in and out points. More...
 
int mlt_producer_set_speed (mlt_producer self, double speed)
 Set the playing speed. More...
 
- Public Member Functions inherited from mlt_service_s
void mlt_service_apply_filters (mlt_service self, mlt_frame frame, int index)
 Recursively apply attached filters. More...
 
int mlt_service_attach (mlt_service self, mlt_filter filter)
 Attach a filter. More...
 
mlt_cache_item mlt_service_cache_get (mlt_service self, const char *name)
 Get an object from a service's cache. More...
 
int mlt_service_cache_get_size (mlt_service self, const char *name)
 Get the current maximum size of the named cache. More...
 
void mlt_service_cache_put (mlt_service self, const char *name, void *data, int size, mlt_destructor destructor)
 Put an object into a service's cache. More...
 
void mlt_service_cache_set_size (mlt_service self, const char *name, int size)
 Set the number of items to cache for the named cache. More...
 
void mlt_service_close (mlt_service self)
 Destroy a service. More...
 
int mlt_service_connect_producer (mlt_service self, mlt_service producer, int index)
 Connect a producer to the service. More...
 
mlt_service mlt_service_consumer (mlt_service self)
 Obtain the consumer a service is connected to. More...
 
int mlt_service_detach (mlt_service self, mlt_filter filter)
 Detach a filter. More...
 
int mlt_service_disconnect_all_producers (mlt_service self)
 Remove the all the attached producers. More...
 
int mlt_service_disconnect_producer (mlt_service self, int index)
 Remove the N-th producer. More...
 
mlt_filter mlt_service_filter (mlt_service self, int index)
 Retrieve an attached filter. More...
 
int mlt_service_filter_count (mlt_service self)
 Get the number of filters attached. More...
 
int mlt_service_get_frame (mlt_service self, mlt_frame_ptr frame, int index)
 Obtain a frame. More...
 
mlt_service mlt_service_get_producer (mlt_service self)
 Get the first connected producer. More...
 
mlt_service_type mlt_service_identify (mlt_service self)
 Identify the subclass of the service. More...
 
int mlt_service_init (mlt_service self, void *child)
 Initialize a service. More...
 
int mlt_service_insert_producer (mlt_service self, mlt_service producer, int index)
 Insert a producer connected to the service. More...
 
void mlt_service_lock (mlt_service self)
 Acquire a mutual exclusion lock on this service. More...
 
int mlt_service_move_filter (mlt_service self, int from, int to)
 Reorder the attached filters. More...
 
mlt_service mlt_service_producer (mlt_service self)
 Obtain the producer a service is connected to. More...
 
mlt_profile mlt_service_profile (mlt_service self)
 Retrieve the profile. More...
 
mlt_properties mlt_service_properties (mlt_service self)
 Return the properties object. More...
 
void mlt_service_set_profile (mlt_service self, mlt_profile profile)
 Set the profile for a service. More...
 
void mlt_service_unlock (mlt_service self)
 Release a mutual exclusion lock on this service. More...
 
- Public Member Functions inherited from mlt_properties_s
char * mlt_properties_anim_get (mlt_properties self, const char *name, int position, int length)
 Get a string value by name at a frame position. More...
 
mlt_color mlt_properties_anim_get_color (mlt_properties self, const char *name, int position, int length)
 Get a color associated to the name at a frame position. More...
 
double mlt_properties_anim_get_double (mlt_properties self, const char *name, int position, int length)
 Get a real number associated to the name at a frame position. More...
 
int mlt_properties_anim_get_int (mlt_properties self, const char *name, int position, int length)
 Get an integer associated to the name at a frame position. More...
 
mlt_rect mlt_properties_anim_get_rect (mlt_properties self, const char *name, int position, int length)
 Get a rectangle associated to the name at a frame position. More...
 
int mlt_properties_anim_set (mlt_properties self, const char *name, const char *value, int position, int length)
 Set a property to a string at a frame position. More...
 
int mlt_properties_anim_set_color (mlt_properties self, const char *name, mlt_color value, int position, int length, mlt_keyframe_type keyframe_type)
 Set a property to an integer value by color at a frame position. More...
 
int mlt_properties_anim_set_double (mlt_properties self, const char *name, double value, int position, int length, mlt_keyframe_type keyframe_type)
 Set a property to a real number at a frame position. More...
 
int mlt_properties_anim_set_int (mlt_properties self, const char *name, int value, int position, int length, mlt_keyframe_type keyframe_type)
 Set a property to an integer value at a frame position. More...
 
int mlt_properties_anim_set_rect (mlt_properties self, const char *name, mlt_rect value, int position, int length, mlt_keyframe_type keyframe_type)
 Set a property to a rectangle value at a frame position. More...
 
void mlt_properties_clear (mlt_properties self, const char *name)
 Remove the value for a property. More...
 
void mlt_properties_close (mlt_properties self)
 Close a properties object. More...
 
int mlt_properties_copy (mlt_properties self, mlt_properties that, const char *prefix)
 Copy all serializable properties that match a prefix to another properties object. More...
 
int mlt_properties_count (mlt_properties self)
 Return the number of items in the list. More...
 
void mlt_properties_debug (mlt_properties self, const char *title, FILE *output)
 Output the properties to a file handle. More...
 
int mlt_properties_dec_ref (mlt_properties self)
 Decrement the reference count. More...
 
int mlt_properties_dir_list (mlt_properties self, const char *dirname, const char *pattern, int sort)
 Get the contents of a directory. More...
 
void mlt_properties_dump (mlt_properties self, FILE *output)
 Dump the properties to a file handle. More...
 
int mlt_properties_exists (mlt_properties self, const char *name)
 Check if a property exists. More...
 
char * mlt_properties_frames_to_time (mlt_properties self, mlt_position frames, mlt_time_format format)
 Convert a frame count to a time string. More...
 
int mlt_properties_from_utf8 (mlt_properties properties, const char *name_from, const char *name_to)
 Convert UTF-8 property to the locale-defined encoding. More...
 
char * mlt_properties_get (mlt_properties self, const char *name)
 Get a string value by name. More...
 
mlt_animation mlt_properties_get_animation (mlt_properties self, const char *name)
 Get the animation associated to the name. More...
 
mlt_color mlt_properties_get_color (mlt_properties self, const char *name)
 Convert a numeric property to a tuple of color components. More...
 
void * mlt_properties_get_data (mlt_properties self, const char *name, int *length)
 Get a binary data value associated to the name. More...
 
void * mlt_properties_get_data_at (mlt_properties self, int index, int *size)
 Get a data value by index. More...
 
double mlt_properties_get_double (mlt_properties self, const char *name)
 Get a floating point value associated to the name. More...
 
int mlt_properties_get_int (mlt_properties self, const char *name)
 Get an integer associated to the name. More...
 
int64_t mlt_properties_get_int64 (mlt_properties self, const char *name)
 Get a 64-bit integer associated to the name. More...
 
const char * mlt_properties_get_lcnumeric (mlt_properties self)
 Get the numeric locale for this properties object. More...
 
char * mlt_properties_get_name (mlt_properties self, int index)
 Get a property name by index. More...
 
mlt_position mlt_properties_get_position (mlt_properties self, const char *name)
 Get a position value associated to the name. More...
 
mlt_properties mlt_properties_get_properties (mlt_properties self, const char *name)
 Get a nested properties object by name. More...
 
mlt_properties mlt_properties_get_properties_at (mlt_properties self, int index)
 Get a nested properties object by index. More...
 
mlt_rect mlt_properties_get_rect (mlt_properties self, const char *name)
 Get a rectangle associated to the name. More...
 
char * mlt_properties_get_time (mlt_properties self, const char *name, mlt_time_format format)
 Get a time string associated to the name. More...
 
char * mlt_properties_get_value (mlt_properties self, int index)
 Get a property's string value by index. More...
 
char * mlt_properties_get_value_tf (mlt_properties self, int index, mlt_time_format time_format)
 Get a property's string value by index (with time format). More...
 
int mlt_properties_inc_ref (mlt_properties self)
 Increment the reference count. More...
 
int mlt_properties_inherit (mlt_properties self, mlt_properties that)
 Copy all serializable properties to another properties list. More...
 
int mlt_properties_init (mlt_properties self, void *child)
 Initialize a properties object that was already allocated. More...
 
int mlt_properties_is_anim (mlt_properties self, const char *name)
 Check if a property is animated. More...
 
int mlt_properties_is_sequence (mlt_properties properties)
 Determine if the properties list is really just a sequence or ordered list. More...
 
mlt_properties mlt_properties_load (const char *filename)
 Create a properties object by reading a .properties text file. More...
 
void mlt_properties_lock (mlt_properties self)
 Protect a properties list against concurrent access. More...
 
void mlt_properties_mirror (mlt_properties self, mlt_properties that)
 Set a properties list to be a mirror copy of another. More...
 
mlt_properties mlt_properties_new ()
 Create a properties object. More...
 
int mlt_properties_parse (mlt_properties self, const char *namevalue)
 Set a value by parsing a name=value string. More...
 
mlt_properties mlt_properties_parse_yaml (const char *filename)
 Parse a YAML Tiny file by name. More...
 
int mlt_properties_pass (mlt_properties self, mlt_properties that, const char *prefix)
 Pass all serializable properties that match a prefix to another properties object. More...
 
int mlt_properties_pass_list (mlt_properties self, mlt_properties that, const char *list)
 Copy all properties specified in a comma-separated list to another properties list. More...
 
void mlt_properties_pass_property (mlt_properties self, mlt_properties that, const char *name)
 Copy a property to another properties list. More...
 
int mlt_properties_preset (mlt_properties self, const char *name)
 Set properties from a preset. More...
 
int mlt_properties_ref_count (mlt_properties self)
 Get the reference count. More...
 
int mlt_properties_rename (mlt_properties self, const char *source, const char *dest)
 Rename a property. More...
 
int mlt_properties_save (mlt_properties self, const char *filename)
 Save the properties to a file by name. More...
 
char * mlt_properties_serialise_yaml (mlt_properties self)
 Serialize a properties list as a string of YAML Tiny. More...
 
int mlt_properties_set (mlt_properties self, const char *name, const char *value)
 Set a property to a string. More...
 
int mlt_properties_set_color (mlt_properties self, const char *name, mlt_color color)
 Set a property to an integer value by color. More...
 
int mlt_properties_set_data (mlt_properties self, const char *name, void *value, int length, mlt_destructor destroy, mlt_serialiser serialise)
 Store binary data as a property. More...
 
int mlt_properties_set_double (mlt_properties self, const char *name, double value)
 Set a property to a floating point value. More...
 
int mlt_properties_set_int (mlt_properties self, const char *name, int value)
 Set a property to an integer value. More...
 
int mlt_properties_set_int64 (mlt_properties self, const char *name, int64_t value)
 Set a property to a 64-bit integer value. More...
 
int mlt_properties_set_lcnumeric (mlt_properties self, const char *locale)
 Set the numeric locale used for string/double conversions. More...
 
int mlt_properties_set_or_default (mlt_properties self, const char *name, const char *value, const char *def)
 Set or default a property to a string. More...
 
int mlt_properties_set_position (mlt_properties self, const char *name, mlt_position value)
 Set a property to a position value. More...
 
int mlt_properties_set_properties (mlt_properties self, const char *name, mlt_properties properties)
 Set a property to a nested properties object. More...
 
int mlt_properties_set_rect (mlt_properties self, const char *name, mlt_rect value)
 Set a property to a rectangle value. More...
 
int mlt_properties_set_string (mlt_properties self, const char *name, const char *value)
 Set a property to a string. More...
 
mlt_position mlt_properties_time_to_frames (mlt_properties self, const char *time)
 Convert a time string to a frame count. More...
 
void mlt_properties_unlock (mlt_properties self)
 End protecting a properties list against concurrent access. More...
 

Data Fields

struct mlt_producer_s parent
 
- Data Fields inherited from mlt_producer_s
mlt_destructor close
 the destructor virtual function More...
 
void * close_object
 the object supplied to the close virtual function More...
 
int(* get_frame )(mlt_producer, mlt_frame_ptr, int)
 Get a frame of data (virtual function). More...
 
struct mlt_service_s parent
 A producer is a service. More...
 
int(* seek )(mlt_producer, mlt_position)
 Seek to a specified position (virtual function). More...
 
int(* set_in_and_out )(mlt_producer, mlt_position, mlt_position)
 Set the in and out points. More...
 
- Data Fields inherited from mlt_service_s
mlt_destructor close
 the destructor virtual function More...
 
void * close_object
 the object supplied to the close virtual function More...
 
int(* get_frame )(mlt_service self, mlt_frame_ptr frame, int index)
 Get a frame of data (virtual function). More...
 
- Data Fields inherited from mlt_properties_s
mlt_destructor close
 the destructor virtual function More...
 
void * close_object
 the object supplied to the close virtual function More...
 

Protected Attributes

void(* close )(mlt_link)
 Virtual close function. More...
 
void(* configure )(mlt_link, mlt_profile)
 Configure the link (virtual function). More...
 
int(* get_frame )(mlt_link, mlt_frame_ptr, int)
 Get a frame of data (virtual function). More...
 

Private Attributes

void * child
 the object of a subclass More...
 
mlt_producer next
 

Detailed Description

Link class.

The link is a producer class that that can be connected to other link producers in a Chain.

Property:
next holds a reference to the next producer in the chain

Member Function Documentation

◆ mlt_link_close()

void mlt_link_close ( mlt_link  self)

Close the link and free its resources.

Parameters
selfa link

◆ mlt_link_connect_next()

int mlt_link_connect_next ( mlt_link  self,
mlt_producer  next,
mlt_profile  chain_profile 
)

Connect this link to the next producer.

Parameters
selfa link
nextthe producer to get frames from
chain_profilea profile to use if needed (some links derive their frame rate from the next producer)
Returns
true on error

◆ mlt_link_filter_init()

mlt_link mlt_link_filter_init ( mlt_profile  profile,
mlt_service_type  type,
const char *  id,
char *  arg 
)

Construct a link as a wrapper for the specified filter.

The returned link will be the owner of the supplied filter

Returns
the new link

◆ mlt_link_filter_metadata()

mlt_properties mlt_link_filter_metadata ( mlt_service_type  type,
const char *  id,
void *  data 
)

Get the metadata about a link that is wrapping a filter.

Returns NULL if link or its metadata are unavailable.

Parameters
typethis must be mlt_service_type_link
servicethe name of the filter that this link is wrapping
Returns
the service metadata as a structured properties list

◆ mlt_link_init()

mlt_link mlt_link_init ( )

Construct a link.

Sets the mlt_type to "link"

Returns
the new link

Field Documentation

◆ child

void* mlt_link_s::child
private

the object of a subclass

◆ close

void(* mlt_link_s::close) (mlt_link)
protected

Virtual close function.

◆ configure

void(* mlt_link_s::configure) (mlt_link, mlt_profile)
protected

Configure the link (virtual function).

Parameters
mlt_linka link
mlt_profilea default profile to use

◆ get_frame

int(* mlt_link_s::get_frame) (mlt_link, mlt_frame_ptr, int)
protected

Get a frame of data (virtual function).

Parameters
mlt_linka link
mlt_frame_ptra frame pointer by reference
intan index
Returns
true if there was an error

◆ next

mlt_producer mlt_link_s::next
private

◆ parent

struct mlt_producer_s mlt_link_s::parent

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