togli il "-s", vediamo dov'è l'errore...
Printable View
P.S.: prima dai un bel:
make clean
make distclean
Tornando a SL (ultima versione con le patch), ecco i log. Qui in DoP, con -D (e basta, equivalente a "-D dop"):
Qui invece in DSD nativo:codice:[20:46:03.686549] stream_thread:176 headers: len: 115
HTTP/1.1 200 OK
Server: Logitech Media Server (7.9.0 - 1468928517)
Connection: close
Content-Type: audio/dsf
[20:46:03.739835] output_thread:807 disabling output
[20:46:03.852822] output_thread:694 open output device: hw:CARD=D20
[20:46:03.852893] alsa_open:366 opening device at: 352800
[20:46:03.853149] alsa_open:439 opened device hw:CARD=D20 using format: S32_LE sample rate: 352800 mmap: 1
[20:46:03.853171] alsa_open:530 buffer: 499 period: 3 -> buffer size: 131070 period size: 43690
[20:46:03.907702] _read_header:158 DSF version: 1 format: 0
[20:46:03.907745] _read_header:168 channels: 2
[20:46:03.907750] _read_header:169 sample rate: 5644800
[20:46:03.907755] _read_header:170 lsb first: 1
[20:46:03.907759] _read_header:171 sample bytes: 2305843009213693951
[20:46:03.907763] _read_header:172 block size: 4096
[20:46:03.907768] _read_header:178 found dsd len: 12
[20:46:03.907772] dsd_decode:765 setting track_start
[20:46:03.907777] dsd_decode:818 DSD128 stream, format: DOP, rate: 352800Hz
[20:46:04.352597] _output_frames:61 start buffer frames: 272384
[20:46:04.352650] _output_frames:146 track start sample rate: 352800 replay_gain: 0
[20:46:08.191599] output_thread:807 disabling output
^C[20:46:14.486157] decode_close:175 close decode
[20:46:14.539688] stream_close:322 close stream
[20:46:14.565144] output_close_alsa:964 close output
notare la differenza: a parità di s/r effettivo (in entrambi i casi DSD128) in DoP deve andare a 352800Hz, in nativo va a 176400Hz.codice:# nice --20 squeezelite -n 'R2@spmc' -C 1 -D :u32be -o 'hw:CARD=D20' -V 'DIYINHK USB Audio 2.0 ' -r 768000 -s 127.0.0.1 -m '00:1c:c0:37:22:73' -b '102400:102400' -a '499:3' -p 89 -d 'all=info' -d 'slimproto=warn'
[20:46:34.037756] stream_init:290 init stream
[20:46:34.110102] output_init_alsa:880 init output
[20:46:34.110200] output_init_alsa:920 device : hw:CARD=D20 requested alsa_buffer: 499 alsa_period: 3 format: any mmap: 1
[20:46:34.110291] output_init_common:410 supported rates: 768000 705600 384000 352800 192000 176400 96000 88200 48000 44100 32000 24000 22500 16000 12000 11025 44100
[20:46:34.188308] output_init_alsa:936 memory locked
[20:46:34.189633] decode_init:129 init decode, include codecs: exclude codecs:
[20:46:34.189683] register_dsd:905 using dsd to decode dsf,dff
[20:46:34.189914] load_faad:610 loaded libfaad.so.2
[20:46:34.189924] register_faad:640 using faad to decode aac
[20:46:34.190242] load_vorbis:300 loaded libvorbisfile.so.3
[20:46:34.190253] register_vorbis:329 using vorbis to decode ogg
[20:46:34.190482] load_flac:266 loaded libFLAC.so.8
[20:46:34.190492] register_flac:294 using flac to decode flc
[20:46:34.190500] register_pcm:424 using pcm to decode aif,pcm
[20:46:34.190643] load_mad:383 loaded libmad.so.0
[20:46:34.190652] register_mad:412 using mad to decode mp3
[20:46:34.192847] decode_flush:190 decode flush
[20:46:34.192885] output_flush:423 flush output buffer
[20:46:34.195576] decode_flush:190 decode flush
[20:46:34.195782] output_flush:423 flush output buffer
[20:46:47.659128] decode_flush:190 decode flush
[20:46:47.659176] output_flush:423 flush output buffer
[20:46:47.724772] codec_open:218 codec open: 'd'
[20:46:47.724845] stream_sock:384 connecting to 127.0.0.1:9000
[20:46:47.724900] stream_sock:413 header: GET /stream.mp3?player=00:1c:c0:37:22:73 HTTP/1.0
[20:46:47.820860] stream_thread:176 headers: len: 115
HTTP/1.1 200 OK
Server: Logitech Media Server (7.9.0 - 1468928517)
Connection: close
Content-Type: audio/dsf
[20:46:47.992691] output_thread:694 open output device: hw:CARD=D20
[20:46:47.992752] alsa_open:366 opening device at: 44100
[20:46:47.992901] alsa_open:439 opened device hw:CARD=D20 using format: S32_LE sample rate: 44100 mmap: 1
[20:46:47.992934] alsa_open:530 buffer: 499 period: 3 -> buffer size: 22005 period size: 7335
[20:46:48.120604] _read_header:158 DSF version: 1 format: 0
[20:46:48.120834] _read_header:168 channels: 2
[20:46:48.120841] _read_header:169 sample rate: 5644800
[20:46:48.120845] _read_header:170 lsb first: 1
[20:46:48.120849] _read_header:171 sample bytes: 2305843009213693951
[20:46:48.120853] _read_header:172 block size: 4096
[20:46:48.120858] _read_header:178 found dsd len: 12
[20:46:48.120862] dsd_decode:765 setting track_start
[20:46:48.120867] dsd_decode:818 DSD128 stream, format: DSD_U32_BE, rate: 176400Hz
[20:46:48.290872] _output_frames:61 start buffer frames: 88064
[20:46:48.290934] _output_frames:146 track start sample rate: 176400 replay_gain: 0
[20:46:48.300958] output_thread:694 open output device: hw:CARD=D20
[20:46:48.316652] alsa_open:366 opening device at: 176400
[20:46:48.316884] alsa_open:439 opened device hw:CARD=D20 using format: DSD_U32_BE sample rate: 176400 mmap: 1
[20:46:48.316912] alsa_open:530 buffer: 499 period: 3 -> buffer size: 88023 period size: 29341
[20:50:56.546218] stream_thread:249 end of stream
[20:50:56.632059] _decode_dsf:514 Zero padding removed: 2112 bytes
[20:50:56.632114] decode_thread:99 decode complete
[20:50:56.821958] codec_open:218 codec open: 'd'
[20:50:56.822016] stream_sock:384 connecting to 127.0.0.1:9000
[20:50:56.822080] stream_sock:413 header: GET /stream.mp3?player=00:1c:c0:37:22:73 HTTP/1.0
codice:serveri7 sox # make
Making all in lpc10
make[1]: ingresso nella directory "/home/filippo/sox/lpc10"
make[1]: Nessuna operazione da eseguire per "all".
make[1]: uscita dalla directory "/home/filippo/sox/lpc10"
Making all in libgsm
make[1]: ingresso nella directory "/home/filippo/sox/libgsm"
make[1]: Nessuna operazione da eseguire per "all".
make[1]: uscita dalla directory "/home/filippo/sox/libgsm"
Making all in src
make[1]: ingresso nella directory "/home/filippo/sox/src"
CC libsox_la-dsf.lo
dsf.c: In function ‘dsf_startread’:
dsf.c:131:26: warning: passing argument 1 of ‘lsx_calloc’ with different width due to prototype [-Wtraditional-conversion]
dsf->block = lsx_calloc(dsf->chan_num, (size_t)dsf->block_size);
^
dsf.c:137:22: warning: passing argument 2 of ‘lsx_seeki’ as signed due to prototype [-Wtraditional-conversion]
if (!lsx_seeki(ft, dsf->metadata, SEEK_SET))
^
dsf.c: In function ‘dsf_writeheader’:
dsf.c:231:6: warning: C++ style comments are not allowed in ISO C90
// lsx_writeqw(ft, dsf->scount) ||
^
dsf.c:231:6: warning: (this will be reported only once per input file)
dsf.c:233:6: error: expected ‘)’ before ‘lsx_writedw’
lsx_writedw(ft, dsf->block_size) ||
^
dsf.c:217:11: warning: unused variable ‘data_size’ [-Wunused-variable]
uint64_t data_size = dsf->file_size ? dsf->file_size - HEADER_SIZE : 0;
^
dsf.c: In function ‘dsf_startwrite’:
dsf.c:254:26: warning: passing argument 1 of ‘lsx_calloc’ with different width due to prototype [-Wtraditional-conversion]
dsf->block = lsx_calloc(dsf->chan_num, (size_t)dsf->block_size);
^
Makefile:2530: set di istruzioni per l'obiettivo "libsox_la-dsf.lo" non riuscito
make[1]: *** [libsox_la-dsf.lo] Errore 1
make[1]: uscita dalla directory "/home/filippo/sox/src"
Makefile:656: set di istruzioni per l'obiettivo "all-recursive" non riuscito
make: *** [all-recursive] Errore 1
Scusa ho visto dopo il make clean...ma é lo stessa cosa....secondo me ha a che fare con la patch....e non é prevista nel configure
codice:xa.c: In function ‘startread’:
xa.c:175:26: warning: passing argument 1 of ‘lsx_calloc’ with different width due to prototype [-Wtraditional-conversion]
xa->buf = lsx_calloc(1, (size_t)xa->blockSize);
^
xa.c:178:48: warning: passing argument 2 of ‘lsx_calloc’ with different width due to prototype [-Wtraditional-conversion]
xa->state = lsx_calloc(sizeof(xa_state_t), ft->signal.channels);
^
CC libsox_la-nulfile.lo
CC libsox_la-f4-fmt.lo
CC libsox_la-f8-fmt.lo
CC libsox_la-gsrt.lo
CC libsox_la-dsf.lo
dsf.c: In function ‘dsf_startread’:
dsf.c:131:26: warning: passing argument 1 of ‘lsx_calloc’ with different width due to prototype [-Wtraditional-conversion]
dsf->block = lsx_calloc(dsf->chan_num, (size_t)dsf->block_size);
^
dsf.c:137:22: warning: passing argument 2 of ‘lsx_seeki’ as signed due to prototype [-Wtraditional-conversion]
if (!lsx_seeki(ft, dsf->metadata, SEEK_SET))
^
dsf.c: In function ‘dsf_writeheader’:
dsf.c:231:6: warning: C++ style comments are not allowed in ISO C90
// lsx_writeqw(ft, dsf->scount) ||
^
dsf.c:231:6: warning: (this will be reported only once per input file)
dsf.c:233:6: error: expected ‘)’ before ‘lsx_writedw’
lsx_writedw(ft, dsf->block_size) ||
^
dsf.c:217:11: warning: unused variable ‘data_size’ [-Wunused-variable]
uint64_t data_size = dsf->file_size ? dsf->file_size - HEADER_SIZE : 0;
^
dsf.c: In function ‘dsf_startwrite’:
dsf.c:254:26: warning: passing argument 1 of ‘lsx_calloc’ with different width due to prototype [-Wtraditional-conversion]
dsf->block = lsx_calloc(dsf->chan_num, (size_t)dsf->block_size);
^
Makefile:2530: set di istruzioni per l'obiettivo "libsox_la-dsf.lo" non riuscito
make[1]: *** [libsox_la-dsf.lo] Errore 1
make[1]: uscita dalla directory "/home/filippo/sox/src"
Makefile:656: set di istruzioni per l'obiettivo "all-recursive" non riuscito
make: *** [all-recursive] Errore 1
[OT]
P.S.: quasi dimenticavo... Marco, sono riuscito a risolvere il problema con il controllo di volume! (vedi sopra).
Il problema era che il nome del controllo è 'DIYINHK USB Audio 2.0 ', cioè include uno spazio alla fine. Cosa che, per ovvi motivi, dall'output di "squeezelite -L":
non si nota.codice:$ squeezelite -L
Volume controls for default
DIYINHK USB Audio 2.0
DIYINHK USB Audio 2.0 ,1
Potresti p.f. modificare il codice di SL in modo che stampi quell'output tra apici, così che eventuali spazi extra all'inizio e/o alla fine diventino evidenti? Tnx!
[/OT]
mmh, non credo. La patch non fa che modificare una sola riga in un file .c, non ha nulla a che fare con con il configure né con il Makefile... :uhh
Ora provo io. Nel frattempo, tu scarica la versione di Mans (git clone ...), applica la patch a mano e prova a vedere cosa succede. Copia-incolla il testo della patch in un file (oppure scarica il file della patch di Daphile e cancella la parte eccedente, dal secondo "@@" in poi), entra nella top dir dei sorgenti (cd sox) e quindi dai il comando:
patch -p1 < /path/to/patch.file
Dopo di che dai autoreconf -i, ecc.
hai fatto il make clean prima, vero?
con le stesse impostazioni il sox di mans si compila? Sarebbe strano visto che l'unica differenza tra i due è una riga di codice in dsf.c. Da vedere così sembrerebbe più un problema di linker su un file di libsox, dovuto ad una qualche impostazion del make (Cflags non supportati per la piattaforma in uso/target).
hai l'ooutput completo della compilazione? ci sono dei warning od errori precedenti?
@Filippo
OCCHIO che nel mio repo la patch è già applicata, in alternativa, si, non ci avevo pensato, potevi mantenere il'ebuild sul repo di mansur ed aggiungere la patch, che però non ho salvato nel repo (si ottiene da qualsiasi IDE, dimmi se ti serve e la creo.
si ottiene anche banalmente con "diff -u original.file modified.file > patch.file"... ;)
...ovviamente devi avere entrambe le versioni del file (originale e modificata).
Comunque la modifica è talmente banale che puoi anche farla a mano, con un copia-incolla.