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

C++ wrapper for mlt_service — abstract base for all MLT services. More...

#include <MltService.h>

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

Public Member Functions

int attach (Filter &filter)
 Attach filter to this service. More...
 
int connect_producer (Service &producer, int index=0)
 Connect producer as the input at index. More...
 
Serviceconsumer ()
 Return the downstream consumer service, or null. More...
 
int detach (Filter &filter)
 Detach filter from this service. More...
 
int disconnect_all_producers ()
 Disconnect all producer inputs. More...
 
int disconnect_producer (int index=0)
 Disconnect the producer at index. More...
 
Filterfilter (int index)
 Return the attached filter at index. More...
 
int filter_count ()
 Return the number of attached filters. More...
 
Frameget_frame (int index=0)
 Pull and return frame index from this service. More...
 
mlt_profile get_profile ()
 
virtual mlt_properties get_properties () override
 
virtual mlt_service get_service ()
 
int insert_producer (Service &producer, int index=0)
 Insert producer at index, shifting existing connections up. More...
 
void lock ()
 Acquire the service mutex (use around property reads in render threads). More...
 
int move_filter (int from, int to)
 Move the attached filter at position from to position to. More...
 
Serviceoperator= (const Service &service)
 
Serviceproducer ()
 Return the first upstream producer, or null. More...
 
Profileprofile ()
 Return the profile associated with this service. More...
 
 Service ()
 
 Service (const Service &service)
 
 Service (mlt_service service)
 Wrap an existing mlt_service handle. More...
 
 Service (Service &service)
 
 Service (Service *service)
 
void set_consumer (Service &service)
 
void set_profile (mlt_profile profile)
 
void set_profile (Profile &profile)
 
mlt_service_type type ()
 Return the service sub-type (producer, filter, consumer, transition, etc.). More...
 
void unlock ()
 Release the service mutex. More...
 
virtual ~Service ()
 
- 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_service 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_service — abstract base for all MLT services.

A service can have multiple input connections (producers) and a single output connection (consumer). Services that sit between producers and a consumer modify data and are called filters. Any service can have zero or more filters attached to it.

See also
mlt_service_s

Constructor & Destructor Documentation

◆ Service() [1/5]

Service::Service ( )

◆ Service() [2/5]

Service::Service ( Service service)

◆ Service() [3/5]

Service::Service ( const Service service)

◆ Service() [4/5]

Service::Service ( mlt_service  service)

Wrap an existing mlt_service handle.

◆ Service() [5/5]

Service::Service ( Service service)

◆ ~Service()

Service::~Service ( )
virtual

Member Function Documentation

◆ attach()

int Service::attach ( Filter filter)

Attach filter to this service.

◆ connect_producer()

int Service::connect_producer ( Service producer,
int  index = 0 
)

Connect producer as the input at index.

◆ consumer()

Service * Service::consumer ( )

Return the downstream consumer service, or null.

◆ detach()

int Service::detach ( Filter filter)

Detach filter from this service.

◆ disconnect_all_producers()

int Service::disconnect_all_producers ( )

Disconnect all producer inputs.

◆ disconnect_producer()

int Service::disconnect_producer ( int  index = 0)

Disconnect the producer at index.

◆ filter()

Filter * Service::filter ( int  index)

Return the attached filter at index.

Caller does not own the result.

◆ filter_count()

int Service::filter_count ( )

Return the number of attached filters.

◆ get_frame()

Frame * Service::get_frame ( int  index = 0)

Pull and return frame index from this service.

Caller owns the result.

◆ get_profile()

mlt_profile Service::get_profile ( )

◆ get_properties()

mlt_properties Service::get_properties ( )
overridevirtual

Reimplemented from Mlt::Properties.

◆ get_service()

mlt_service Service::get_service ( )
virtual

◆ insert_producer()

int Mlt::Service::insert_producer ( Mlt::Service producer,
int  index = 0 
)

Insert producer at index, shifting existing connections up.

◆ lock()

void Service::lock ( )

Acquire the service mutex (use around property reads in render threads).

◆ move_filter()

int Service::move_filter ( int  from,
int  to 
)

Move the attached filter at position from to position to.

◆ operator=()

Service & Service::operator= ( const Service service)

◆ producer()

Service * Service::producer ( )

Return the first upstream producer, or null.

◆ profile()

Profile * Service::profile ( )

Return the profile associated with this service.

◆ set_consumer()

void Service::set_consumer ( Service service)

◆ set_profile() [1/2]

void Service::set_profile ( mlt_profile  profile)

◆ set_profile() [2/2]

void Service::set_profile ( Profile profile)

◆ type()

mlt_service_type Service::type ( )

Return the service sub-type (producer, filter, consumer, transition, etc.).

◆ unlock()

void Service::unlock ( )

Release the service mutex.

Field Documentation

◆ instance

mlt_service Mlt::Service::instance
private

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