UpmpdcliとMPDの間にSquidを挟んでキャッシュする際の設定
refresh_pattern .(aif|aiff|wav|flac|m4a|mp3)$/i 0 0% 240 reload-into-ims ignore-reload ignore-no-cache ignore-no-store > cache_mem 2560 MB maximum_object_size_in_memory 2 GB memory_cache_mode always memory_pools on
maximum_object_size_in_memoryはとりあえずFAT32のファイルサイズの上限2GB。cache_memは2GB以上の適当な数値ということで2560 MB (=2.5 GB)。2GBのファイルが連続して送られて来た場合の動作は確認していません…。メモリが4GB以上あるモデルのラズパイ4Bを前提とした設定です。
refresh_patternは毎回新規のファイルが来るものとしてminは0、percent 0、CDクオリティ(16bit 44.1kHz)のファイルで2GBの場合ざっくり230分なので、maxは230より少し多めの240。
2022年5月21日追記:
以下はAudirvanaからのALACデコード時のUPnP出力をフリーズせずに再生するための暫定の対応。ALAC再生の際、まだ音が途切れたりするので引き続き要調査。
/etc/mime.confの必要部分抜粋
\.wav$ audio/wav silk/music.png - ascii +download +view \.wav$ audio/x-wav silk/music.png - ascii +download +view \.wav$ text/html silk/music.png - ascii +download +view