@UnixMan, non ti rispondo punto punto, altrimenti non si capisce un ostia...
Secondo me c'è un'incomprensione di fondo:
Io dico che il codice per fare resampling c'è ed è nel repository LIBSOXR e non in SOX (repository), ho solo specificato che mentre è chiaro il meccanismo tramte cui SOX (applicazione) usa LIBSOX (libreria), non mi è altrettanto chiaro al momento come LIBSOX (Libreria) usa/richiama il codice in LIBSOXR (repository), perchè non ho approfondito.
E' evidente che non è tramite una dipendenza tra packages, altrimenti - come dici giustamente tu - sarebbe visibile.
Ovvio che potrebbe essere anche altro codice, ma se fosse in package diversi verrebbe evidenziato, sbaglio?
Stando a quanto dichiarano loro, il repository SOX viene utilizzato per generare sia SOX (applicazione) che LIBSOX (libreria) e credo non ci sia nulla di strano in ciò.
Sempre stando a quanto scrivono loro, il resampler utilizzato in LIBSOX (libreria) (e quindi in SOX (applicazione)) è lo stesso usato in LIBSOXR (Libreria) e sta nel repository LIBSOXR.
In particolare, descrivono le librerie LIBSOX, LIBSOXR e LIBSOXR-LSR come tre 'modi' diversi di utilizzare lo stesso resampler, nei primi due casi si tratta di API diverse, nel terzo è un vero e proprio wrapper che lo 'maschera' rendendolo utilizzabile da client di LIBSAMPLERATE al costo di minore efficienza e rinuncia ad alcune funzionalità comprese in LIBSOXR.
Volendo fare un grafo:
RESAMPLER - LIBSOXR API..................- APP1
.................- LIBSOXR-LSR WRAPPER...- (LIBSAMPLERATE API) - APP2
.................- LIBSOX API....................- APP3
.................- SOX (tramite LIBSOX)
Loro stessi consigliano di utilizzare LIBSOXR (libreria) in applicazioni interessate al solo resampling, LIBSOX (libreria) negli altri casi e SOX (applicazione) da riga di comando. Non credo darebbero questo consiglio se si trattasse di funzionalità (codice sorgente) effettivamente diverse, perchè dovrebbero?
Quanto sopra si può ottenere in modi diversi, se come dici tu SOX (applicazione), LIBSOX (libreria) e LIBSOXR (libreria) vengono disribuiti indipendentemente e senza dipendenza reciproca, vuol dire che i packages sono strutturati in modo da comprendere al loro interno tutto il codice necessario già in fase di build, così da non richiedere la presenza ed installazione di altre librerie sul sistema runtime. E' un metodo di distribuzione con vantaggi e svantaggi, in generale non è una buona pratica.
E' ovvio che non c'è modo di verificare che 'RESAMPLER' sia effettivamente lo stesso nei tre casi se non risalendo ai singoli FORK delle singole distro e verificare sorgenti e script di compilazione, ma ripeto, perchè dovrebbero farlo?
Spero ti sia più chiaro il mio pensiero, chiedere agli sviluppatori è certamente la via più veloce.