Struct mlt_sys::mlt_producer_s[][src]

#[repr(C)]
pub struct mlt_producer_s { pub parent: mlt_service_s, pub get_frame: Option<unsafe extern "C" fn(arg1: mlt_producer, arg2: mlt_frame_ptr, arg3: c_int) -> c_int>, pub close: mlt_destructor, pub close_object: *mut c_void, pub local: *mut c_void, pub child: *mut c_void, }

\brief Producer abstract service class

A producer is a service that generates audio, video, and metadata. Some day it may also generate text (subtitles). This is not to say a producer "synthesizes," rather that is an origin of data within the service network - that could be through synthesis or reading a stream.

\extends mlt_service \event \em producer-changed either service-changed was fired or the timing of the producer changed \properties \em mlt_type the name of the service subclass, e.g. mlt_producer \properties \em mlt_service the name of a producer subclass \properties \em _position the current position of the play head, relative to the in point \properties \em _frame the current position of the play head, relative to the beginning of the resource \properties \em _speed the current speed factor, where 1.0 is normal \properties \em aspect_ratio sample aspect ratio \properties \em length the duration of the cut in frames \properties \em eof the end-of-file behavior, one of: pause, continue, loop \properties \em resource the file name, stream address, or the class name in angle brackets \properties \em _cut set if this producer is a "cut" producer \properties \em mlt_mix stores the data for a "mix" producer \properties \em _cut_parent holds a reference to the cut's parent producer \properties \em ignore_points Set this to temporarily disable the in and out points. \properties \em use_clone holds a reference to a clone's producer, as created by mlt_producer_optimise \properties \em _clone is the index of the clone in the list of clones stored on the clone's producer \properties \em _clones is the number of clones of the producer, as created by mlt_producer_optimise \properties \em _clone.{N} holds a reference to the N'th clone of the producer, as created by mlt_producer_optimise \properties \em meta.* holds metadata - there is a loose taxonomy to be defined \properties \em set.* holds properties to set on a frame produced \envvar \em MLT_DEFAULT_PRODUCER_LENGTH - the default duration of the producer in frames, defaults to 15000. Most producers will set the producer length to something appropriate like the real duration of an audio or video clip. However, some other things like still images and generators do not have an intrinsic length besides one or infinity. Those producers tend to not override the default length and one expect the app or user to set the length. The default value of 15000 was chosen to provide something useful - not too long or short and convenient to simply set an out point without necessarily nedding to extend the length. \todo define the media metadata taxonomy

Fields

A producer is a service.

Get a frame of data (virtual function).

\param mlt_producer a producer \param mlt_frame_ptr a frame pointer by reference \param int an index \return true if there was an error

the destructor virtual function

< the object supplied to the close virtual function

< \private instance object

< \private the object of a subclass

Trait Implementations

impl Debug for mlt_producer_s
[src]

Formats the value using the given formatter. Read more

impl Copy for mlt_producer_s
[src]

impl Clone for mlt_producer_s
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Auto Trait Implementations