On Thu, Jan 31, 2013 at 10:24 PM, Ulrich Klauer <ulr...@chirlu.de> wrote:
> Pascal Giard <evily...@gmail.com>:
>
>> On Wed, Jan 30, 2013 at 10:30 PM, Chris Bagwell <ch...@cnpbagwell.com> wrote:
>> > For SoX, you should be able to get an idea of API and ABI modifications
>> > using "git log -u src/sox.h" since that defines our interface to library.
>> > That shows no modifications in dot branch since 14.4.0 release.
>> Good!
>
> This was part of the plan for dot. :-)  However, reading section 8.6.2
> of the Policy Manual, I wonder where the difference is between a
> library_do_operation() taking an enum and a sox_find_effect() or
> sox_effect_options() taking a string. Wouldn't that mean that it is
> considered an "ABI change" whenever an effect changes behaviour (e.g.,
> due to a bug being fixed)?

I think the answer is "it depends". I think it could constitute a
modification as defined in section 8.6.2.
Could you elaborate on the modifications you have in mind that could
constitute a modification please?
Based on your judgement, do you think an application using libsox2
could reasonably depend on the previous behavior?

>> > I'll have to read up on this new approach.  Is it OK to ignore API/ABI
>> > changes related to internal-only symbols that we are allowing to leak out
>> > (those prefixed with lsx_)?
>> Hmm... are we suggesting users to make use of them in some cases?
>> Or we're discouraging that practice?
>
> The latter, I think. This is what sox.h says about it at the moment:
>> Symbols starting with "lsx_" or "LSX_" are internal use by libSoX
>> and plugins. LSX_ and lsx_ symbols should not be used by
>> libSoX-based applications.

Fair enough. I feel confortable ignoring lsx_* symbol and ditching
them from the autogenerated symbol files.
If an app author complains that its applications breaks in connection
to an lsx_* symbol having changed, we'll be free to handle the matter
as gentleman e.g.
1) Access whether he/she holds a valid use case for that lsx_* symbol;
2) Consider moving it in sox_*;
3) Include that change in a dot release (as it's an addition, not a
modif or removal)?

>> In any case, why are we "leaking" them? I see there are lots of them,
>> they actually constitute the vast majority of symbols! (340/393).
>
> I'm not sure, but since the library is divided into many compilation
> units, we can't simply declare all of those functions static. That
> would mean a helper function from effects_i.c couldn't be used from
> within spectrogram.c anymore. So removing these symbols would have to
> happen at or after linking; I don't know how complicated or easy that
> is.

I'm not competent enough in the matter to give my opinion on this.
However, I see that it's not unusual to leak private symbols so I can
live with it.

Cheers,

-Pascal
--
Homepage (http://organact.mine.nu)
Debian GNU/Linux (http://www.debian.org)
COMunité/LACIME: École de technologie supérieure (http://www.comunite.ca)
Integrated Microsystems Laboratory: McGill (http://www.iml.ece.mcgill.ca)

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
SoX-devel mailing list
SoX-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-devel

Reply via email to