Stefano Sabatini <[email protected]> writes:

> On date Sunday 2011-04-03 14:42:43 +0100, Måns Rullgård wrote:
>> Stefano Sabatini <[email protected]> writes:
> [...]
>> > I suppose we can implement two policies:
>> >
>> > a. when a component is explicitely enabled, all the depending
>> >    components are automatically enabled
>> >
>> > E.g.:
>> > --enable-libx264 -> enable libx264-encoder, gpl
>> > --enable-librtmp -> enable librtmp-muxer/demuxer
>> >
>> > b. when a component is explicitely enabled, check if the dependencies
>> >    are enabled and fail otherwise; enable a component by default if
>> >    all its dependencies are satisfied
>> >
>> > We currently have a mix of a. and b., and I find b. more usable and
>> > safer, as the user becomes more aware of what she's enabling and what
>> > not.
>> >
>> > For example the user wants to enable the libx264 encoder.
>> > Currently we have:
>> > $ configure --enable-encoder=libx264
>> > => success, but libx264 and the libx264-encoder are not enabled
>> >
>> > With the b. approach:
>> > $ configure --enable-encoder=libx264
>> > => configure complains about missing gpl and libx264, and fails.
>> >
>> > $ configure --enable-libx264 --enable-gpl
>> > => success, libx264-encoder is automatically enabled since its 
>> > dependencies are satisfied
>> >
>> > If we want to use a pure a. approach we should automatically enable
>> > gpl (while currently we have an ad-hoc license check) which doesn't
>> > appear like a good idea from the legal POV, adopting a hybrid approach
>> > (as currently implemented) is confusing.
>> 
>
>> There is nothing confusing at all.  Two simple rules:
>>
>> 1. Everything is enabled by default.
>>
>> 2. External libs must be explicitly enabled.
>
> This is not changed by the patch, the raised issue is different, and
> is that explicitely enabling an element should make configure issues
> some warning.
>
> Indeed the user doesn't know nothing about the internal dependencies,
> but when she types --enable-thing=foobar she expects the element to
> be enabled.
>
>> Thus far, nobody has complained about this.  Until someone does, I'm not
>> changing it.  Your meta-complaint does not count.
>
> http://thread.gmane.org/gmane.comp.video.ffmpeg.user/30661/focus=30668
> http://thread.gmane.org/gmane.comp.video.ffmpeg.user/30778/focus=30779
>
> Both users complained about --enable-filter=drawtext, but the same
> applies to other components, for example I find
> --enable-encoder=libx264 not enabling the libx264 encoder and not
> failing quite counter-intuitive.

Then the documentation is insufficient.  Wherever the user learned of
the libx264 encoder should document its dependencies as well.  You seem
to like writing docs, so get started.

-- 
Måns Rullgård
[email protected]
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to