On Wed, Jun 8, 2016 at 1:47 PM Christophe Thommeret <hf...@free.fr> wrote:

> Le 08/06/2016 22:44, Paweł Goliński a écrit :
> > Melt autoprofile sounds like something that manipulates consumer in
> application layer, independently
> > of its internal mechanics. This raises new question - I noticed in
> get_image(), that the width and height returned
> > may not be the same as the width and height requested by consumer (these
> are [in,out] parameters). So what are the producers and consumers
> > responsibilities when it comes to that? Are there any? I mean, I can
> imagine a scenario where producer cannot produce
> > image of given width and size and returns slightly different image. What
> should the consumer do in that case? Or maybe
> > I should guarantee that producer always produces requested frames?
>
> mlt will resize/crop/pad as required by the consumer profile.
>
>
Yes, but in more detail: the consumer may request a value > 0 (in case of a
dimension), the producer may optionally comply but often does not in order
to defer to a downstream scaling filter. Then, there is a special producer
in core module named "loader" that tries to figure out the best real
producer for the URI (by protocol scheme or filename extension), but it
also attaches what we call "normalizing" filters automatically. These
filters are added to try to give the consumer what it requested - based on
its properties, some of which are based on the profile.

The loader producer's behavior is governed by data files (also in core
module) called loader.dict and loader.ini. If you remove the loader
producer (through mlt_factory APIs) or remove the normalizing filter
entries in loader.ini, then consumer might not get what it asked for. In
that case, it is up to the consumer what to do. A display consumer that has
a native scaler (such as SDL) can try to use it. Other consumers such as
decklink for SDI/HDMI does hot have a scaler and could discard the image.
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel

Reply via email to