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