Eric Wong <normalper...@yhbt.net> writes:

> Måns Rullgård <m...@mansr.com> wrote:
>> Eric Wong <normalper...@yhbt.net> writes:
>> > Mans Rullgard <m...@mansr.com> wrote:
>> >> --- a/src/adpcm.h
>> >> +++ b/src/adpcm.h
>> >> @@ -29,8 +29,11 @@
>> >>  /* default coef sets */
>> >>  extern const short lsx_ms_adpcm_i_coef[7][2];
>> >>  
>> >> +extern void *lsx_ms_adpcm_alloc(unsigned chans);
>> >> +
>> >>  /* lsx_ms_adpcm_block_expand_i() outputs interleaved samples into one 
>> >> output buffer */
>> >>  extern const char *lsx_ms_adpcm_block_expand_i(
>> >> + void *priv,
>> >>   unsigned chans,          /* total channels             */
>> >>   int nCoef,
>> >>   const short *coef,
>> >
>> > Thanks, seems fine; though I'd probably export an opaque struct
>> > which makes the unsigned chans arg redundant.
>> 
>> Do you mean to store the number of channels as well as the state buffer
>> in a struct?
>
> Exactly.

Sure, we could do that.  Then we could put some other stuff there too.

>> > I'm a little concerned about the internal API changes like this
>> > affecting some 3rd-party code somewhere; but I guess we limit
>> > our exports nowadays (ugh, and that export regexp is nasty)
>> 
>> These functions aren't exported, and the supported interface is
>> whatever is in sox.h, nothing else.
>
> OK.  I guess I'm overly cautious from other projects where
> people reach deep into internals and rely on it :/

My opinion is that if you rely on internal, undocumented interfaces
exposed by accident, you're on your own and should expect breakage from
time to time.

-- 
Måns Rullgård

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
SoX-devel mailing list
SoX-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-devel

Reply via email to