SIGUSR1 triggers resample & encoder initialising
Hi,
I'm having a bit of trouble with glitching audio when the metadata is updated which I suspect is caused by using the encode feature.
In the logfile I see this
[2020-03-25 23:11:43] INFO signals/signal_usr1_handler Metadata update requested
[2020-03-25 23:11:43] INFO metadata/metadata_thread_signal tag 1 is artist=Some artist
[2020-03-25 23:11:43] INFO metadata/metadata_thread_signal tag 2 is title=Some title
[2020-03-25 23:11:43] INFO metadata/metadata_thread_signal Updating metadata
[2020-03-25 23:11:43] INFO audio/resample_initialise Initialised resampler for 2 channels, from 48000 Hz to 44100 Hz
[2020-03-25 23:11:43] INFO encode/encode_initialise Encoder initialising in VBR mode: 2 channel(s), 44100 Hz, quality
Here is my full ices.xml
<ices>
<background>0</background>
<logpath>/home/pi/ices/</logpath>
<logfile>ices.log</logfile>
<logsize>2048</logsize>
<loglevel>3</loglevel>
<consolelog>0</consolelog>
<pidfile>/home/pi/ices/ices.pid</pidfile>
<stream>
<instance>
<hostname></hostname>
<port>8000</port>
<password></password>
<mount>/radio.ogg</mount>
<reconnectdelay>2</reconnectdelay>
<reconnectattempts>5</reconnectattempts>
<maxqueuelength>80</maxqueuelength>
<encode>
<samplerate>44100</samplerate>
<channels>2</channels>
</encode>
<resample>
<in-rate>48000</in-rate>
<out-rate>44100</out-rate>
</resample>
</instance>
<input>
<module>stdinpcm</module>
<param name="rate">48000</param>
<param name="channels">2</param>
<param name="metadata">1</param>
<param name="metadatafilename">/var/ices2/tmp/metadata</param>
</input>
</stream>
</ices>
I start ices2 with the following command.
arecord -D plughw:1 --channels 2 --format dat -t raw | ices2 ices/ices.xml
Which logs
Recording raw data 'stdin' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo