Re: なんちゃってネットワーク分離

4,011 views
Skip to first unread message
Message has been deleted

digi...@gmail.com

unread,
Jan 6, 2017, 9:46:10 AM1/6/17
to lightMPD
takobozuさん

返答が送れて申し訳ありません。

下記機器のIPアドレスが書いてないのでちょっとわかりません。
qnapとrpiが別なネットワークアドレスになっていてかつ通常の通信ができているならbroadcastは流れません。

> rpiやbbgはupmpdcliを入れてレンダラー化してます。polipoいれないとだめでしょうか?
rpi3などのメモリが多くある場合はpolipoは有効だと思います。
polipoはどのディストリビューションにもパッケージがないので自力でmakeする必要があります。
makeする場合はこちらで作成したパッチがありますので差し上げます。

donuts...@gmail.com

unread,
Jan 6, 2017, 11:28:07 AM1/6/17
to lightMPD
digififanさん

rpi2にpolipoをいれています。
作成されたパッチというのはどのような内容でしょうか。
差し障りなければ私もいただきたいです。

Message has been deleted

digi...@gmail.com

unread,
Jan 8, 2017, 8:50:53 AM1/8/17
to lightMPD
donuts.shop73さん

了解しました。
準備しますのですこしお待ち下さい。

パッチの内容は音楽データのサイズがキャッシュサイズを超えていると一時的にハングアップしてしまうのに対象したものです。

digi...@gmail.com

unread,
Jan 13, 2017, 12:37:50 AM1/13/17
to lightMPD
donuts.shop73さん

polipoのbuildrootのpackageをアップしました。
このなかの 0001-discardObjects.patch がパッチになります。
buildroot以外でmakeする場合はMakefileのDEFINESに  -DNO_DISK_CACHE を指定して下さい。

donuts...@gmail.com

unread,
Jan 13, 2017, 1:19:48 PM1/13/17
to lightMPD
digififanさん

アップロードありがとうございます。
私はbuildroot以外でmakeしており、
Makefileには DNO_DISK_CACHE -DNO_IPv6 -DNO_SYSLOG を指定しています。

Message has been deleted
Message has been deleted

donuts...@gmail.com

unread,
Jan 14, 2017, 1:54:52 PM1/14/17
to lightMPD
takobozuさん

polipoが動いているかは、topでpolipoを見たときに
VSZが再生している曲のファイルサイズまで増えていれば
動いているといえると思います。
この状態でLANケーブルを外したとき曲は再生され続けるはずです。

SXX.polipoについては設定内容が分からないため原因は不明ですが、
lightMPDのその他のスクリプトを参考にされているのであれば、
起動に失敗しても
 Starting polipo: OK
が表示されます。これはコマンドの戻り値(正常/異常)に関係なく
コマンド終了時に、OKと表示しているためです。

私もRpi2にpolipoを組み込んでいますので、イメージファイルを
アップしておきますので、参考にしていただければと思います。
lightMPDをベースにさせていただいていますので、同様の手順で
お試しいただけると思います。

https://drive.google.com/file/d/0B9LSJY9xM01jbnJWUUNnSXUxTmc/view?usp=sharing

digififanさんの思想からははずれてしまっていますが、
lightMPDをベースにしながらもいろいろといじらせてもらってます。
以下が主な追加項目です。
 UPNP対応: upmpdcli, polipo
 SDカード再生対応
 DLNAサーバ対応: minidlna (SDカード再生時)
WiFiによるAP化: hostapd, bridge, dnsmasq (GW-USNano2専用)
 LED制御

今後の展開のお役に立てればと思います。

donuts...@gmail.com

unread,
Jan 14, 2017, 2:03:36 PM1/14/17
to lightMPD
書き忘れました。
上記でアップしたファイルは USB DAC 専用です。
takobozuさんはCombo384をお使いのようですので、
一応カーネルにパッチはあててあります。
動作確認はとれていませんのであしからず。
Message has been deleted

digi...@gmail.com

unread,
Jan 14, 2017, 9:27:06 PM1/14/17
to lightMPD
takobozuさん

> makeinfoがない、というエラーです。texinfoというものがいるみたいなことは
> ネットでわかったんですが、buildrootにはpackageが見当たりません。

makeinfoはホスト側に用意します。
ubuntuやdebianなら apt-get install texinfo でインストール出来ます。

あと、DEFINESの指定はdonuts.shop73さんのほうがいいと思います。

> SXX.polipoが悪いんだと愚考してますが、うーんどこで躓いているのか
> ちょっと無い知恵を絞って考えたいと思います。
takobozuさんが使っているosがdebian系ならlightmpd/upnpgwに入っているS91polipoが使えると思います。

Message has been deleted
Message has been deleted
Message has been deleted

donuts...@gmail.com

unread,
Jan 15, 2017, 6:28:53 AM1/15/17
to lightMPD
takobozuさん

polipoの設定、お役に立てて幸いです。
ちなみに、digififanさんのlightmpd.confのメモリ周りの設定値の単位は
MB(メガバイト)で、私のものはB(バイト)です。
digififanさんの気配りが垣間見えるところなのですが...

私のアップロードしたファイルで起動できない件、残念です。
一度、電源とLANのみを接続した状態で起動可能か試していただけますか。
このとき、lightmpd.confの[network] セクションのみの変更でとりあえず
起動はするはずなんですが。
SDカードもフォーマットが可能であればフォーマットしていただき
ダウンロードファイルの展開、lightmpd.confの変更
の手順でお試しいただければと思います。

digififanさんのDEFINESの指定とはMakefileの事を指しています。
 -DNO_DISK_CACHE -DNO_IPv6 -DNO_SYSLOG
の指定で、ディスクキャッシュ、IPv&、syslogへのログ出力を無効化します。

LANのピコピコはカーネルにパッチを当てています。
インターネット上でどなかが公開されていたものに少し手を加えました。
下記にパッチ(disable-rpi2-network-leds.patch)をアップロードしましたので、
お試しください。

https://drive.google.com/file/d/0B9LSJY9xM01jOHBpSWsxUEZYUXM/view?usp=sharing

以下のコマンドで、ピコピコが無効になります。
 echo 0 > /sys/class/smsc95xx_leds/eth_fdx
 echo 0 > /sys/class/smsc95xx_leds/eth_lnk
 echo 0 > /sys/class/smsc95xx_leds/eth_spd
有効にする場合は0を1に置き換えてください。

Message has been deleted
Message has been deleted
Message has been deleted

digi...@gmail.com

unread,
Jan 20, 2017, 9:49:12 AM1/20/17
to lightMPD
takobozuさん

> polipoを組み込んで音だしはできるのですが、以下の環境でプチノイズといいますか
> 詰まりながらの再生となりどうしたものかと悩んでおります。
buildが正しくできているとしたら、設定の問題だとおもいます。

> polipoの設定はdonuts.shop73さんのものを参考にさせていただいているだけで、
これはちゃんと内容を書いて下さい。

詳しくは設定をみないと解らないのですが、問題のあるファイルはpolipoで割り当てたキャッシュより大きいのではないでしょうか?
lightMPDではこの問題に対するパッチをあててあります。
このパッチをあてないと上記のような現象になったと記憶しています。

システムがフリーズするということなので、プライオリティを"FIFO:XX"にしたプロセス(スレッド)がループしている
可能性があります。
プライオリティをFIFOにしたプロセスがループするとhtopやshが動作しなくなるのでフリーズしたように見えます。

まずは、mpdのrt_optを全て外す。polipoのプライオリティを変更しない状態でテストして下さい。
テスト中はtelnetで接続してhtopを起動して下さい。
htop起動後Ktと入力するとkernelスレッドとともにプロセスの親子関係がツリー表示されます。

フリーズしたと思われる状態になったときにhtopの画面からCPUの使用量が高い物を探します。
多分polipoかmpdのスレッドが該当します。

これで、polipoかmpdかの切り分けを行って下さい。

> polipo>upmpdcli>mpd と優先度を設定して再生してみたんですが症状はかわりません。
この場合upmpdcliは関係ないと思います。
mpdはpolipoがデータを出力してくれないと動作しませんので、mpdの優先度が高くてもpolipoが動作します。
polipoの優先度をmpdより高くするとpolipoがキャッシュに書き込んでいる間mpdにディスパッチされないため
mpdがアンダーランするという場合も考えられます。

優先度を高くする場合というのは
 1. 割込ハンドラーのようなある事象に対してなるべく早く処理を行う必要があるプロセス
 2. 実行中に他のプロセスに割り込まれたくない場合

です。

lightMPDではusbの割込ハンドラーをFIFO:99にしていますが、これは1.と2.の為です。
mpdのoutputスレッドもFIFO にしていますがこれは2.が目的です。

Message has been deleted

digi...@gmail.com

unread,
Jan 20, 2017, 10:03:39 PM1/20/17
to lightMPD
takobozuさん

> その中に、digififanさんにアップロードして頂いた、3つのファイルを
> コピーしビルドしております。エラーもなく終了しておりますので、
それならパッチはあたっていると思います。
confも問題ないと思います。

donuts.shop73の物では問題ないそうなので、これからpolipoを抜き出してtakobozuさんのシステム
で動かしてみてはどうでしょうか?(lightMPDベースということなのでバイナリーも互換があると思います)

あと、

polipo -v -c conffile

とするとpolipoがconffileのパラメータをどのように解釈しているか確認できます。

同じconffileでtakobozuさんのものとdonuts.shop73の物で違いがあるかも確認したほうがいいです。

動作するものがある場合はそれを基準にして違いを探るといいです。

Message has been deleted
Message has been deleted

donuts...@gmail.com

unread,
Jan 21, 2017, 11:54:58 PM1/21/17
to lightMPD
takobozuさん

コマンド実行結果の内容ですが逆ではないでしょうか。
そしておそらくは関係ないでしょう。

polipoのソースを確認しましたが、
私の使用しているものとdigififanさんに用意していただいたものは
同じでした。

polipo以外での環境面での変更はないでしょうか。
upmpdcliだけに戻し正常動作を確認した後、
再度、注意しながらpolipoを組み込んでいかれてはどうですか。

digififanさんのアドバイスに従い、ひとつひとつ
確認していくのがよいかと思います。

Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

digi...@gmail.com

unread,
Jan 22, 2017, 6:32:03 AM1/22/17
to lightMPD
takobozuさん

mpd.confのaudio_buffer_size,buffer_before_play はどうなってますか?
upnpではバッファーのサイズに余裕を持たせないとプチノイズがでたように記憶しています。

audio_buffer_size  "8192"
buffer_before_play "50%"

ぐらいで試してみて下さい。

Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

digi...@gmail.com

unread,
Feb 10, 2017, 11:01:14 AM2/10/17
to lightMPD
takobozuさん

rpi2bはetherが2つありますが、usb->etherで増設したのですか?
この場合、無線ルータ側にusb-etherをつなげた方がいいです。(すでにそうなっているのかもしれませんが)

polipoの設定で chunkHighMark,chunkCriticalmarkが大きすぎます。raspi2bのメモリは512MBだったはずなのでそれにあわせる必要があります。
これらの値が不正(実メモリを超えているなど)の時は実メモリの1/4ぐらいに調整されるはずです。

lightmpdでもmpdが動いている方のlightmpd.conf,mpd.confは固定になるので一層のことmmcのドライバーやファイルシステムも無くしてしまおうかと考えています。
また、ライブラリのスキャンもないのでffmpegもなくすなどさらに小さくできます。
現材のlightmpd/upnpgwのmpdは下記の設定でbuildしてあります。

MPD_NATIVE_DSD_CONF_OPTS = \
    --enable-ffmpeg \
    --enable-aac \
    --enable-audiofile \
    --enable-mad \
    --enable-sndfile \
    --enable-vorbis \
    --enable-alsa \
    --enable-lsr \
    --enable-soxr \
    --enable-curl \
    --enable-expat \
    --enable-rtopt \
    --disable-httpd-output \
    --disable-oss \
    --disable-shout \
    --disable-pulse \
    --disable-ao \
    --disable-inotify \
    --disable-ipv6 \
    --disable-un \
    --enable-bzip2=no \
    --enable-zlib=no \
    --enable-pipe-output=no \
    --enable-id3=no \
    --enable-mms=no \
    --enable-libmpdclient=no \
    --enable-database=no \
    --enable-icu=no \
    --enable-smbclient=no \
    --enable-nfs=no \
    --enable-eventfd=no \
    --enable-signalfd=no \
    --enable-iso9660=no \
    --enable-cdio-paranoia=no \
    --enable-neighbor-plugins=no \
    --enable-recorder-output=no \
    --enable-sqlite=no \
    --enable-neighbor-plugins=no \
    --with-zeroconf=no \
    --with-boost=yes \
    CFLAGS="-O2  -DHAVE_DECODER_SELECTOR -DUSE_EXTEND_AUDIO_FORMAT -DEXT_DSD2PCM" \
    CXXFLAGS="-O2 -DHAVE_DECODER_SELECTOR -DUSE_EXTEND_AUDIO_FORMAT -DEXT_DSD2PCM"

Message has been deleted
Message has been deleted

digi...@gmail.com

unread,
Feb 10, 2017, 10:56:14 PM2/10/17
to lightMPD
takobozuさん

> おっしゃる通りusb etherを増設しました。このご指示の理由を
> 差し支えなければ教えて頂けないでしょうか?
過去、usb->etherはいろいろトラブルを経験しておりusb->etherは不安定なイメージがあって、直結ではその性能がでないと思うからです。
raspi2のetherもusb経由なのでもしかしたら外部のアダプターと同じなのかもしれません。
takobozuさんのところで問題なく動いているならそれはそれでいいと思います。

> 確か1GBなはずですが。bbgは512MBですね。
> 1GBなら上記設定でよろしいでしょうか?

すみません、私の勘違いでした。raspi2 は1gbでした。
設定は上記の値でいいと思います。

> mmc関連は恐らくですがそのままです。(sdカード読めなくなって起動できなくなるのが
> 心配)
kernel,initramfs,dtbのロードはboot loaderが行います。システム起動後mmcにマウントをかける必要がないシステムではこれは外せます。

> usb-lan関係も調子のって削除してますと動かなくなる不安がありますので現段階では
raspiのetherはusb接続ですから、raspiではこれは外せません。


Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

digi...@gmail.com

unread,
Feb 28, 2017, 9:23:41 AM2/28/17
to lightMPD
takobozuさん

> (1)rpi2Bのntpdのサーバー機能を復活させ、rpiB+のntpクライアントに時刻を
> 提供する。
> (2)rpi2Bでntp(udpのポート123)を通すようにする。
> どちらのほうがより簡単といいますか、もっといい方法がありますでしょうか?
> lightmpdupnpgwではどうされているんでしょうか?

(1)の方が簡単だと思いますが、ntpの設定はちょっとやっかいかもしれません。
(2)の場合はkernelの対応とnatの設定が必要になります。

lightMPDでは,player側でntpサーバーをupnpgwに設定すると[ntp]で指定したサーバーに中継します。
また、upnpgwがgatewayになっているのでplayer側でntpのアドレスを指定した場合、upnpgwが中継します。

いずれの方法もupnpgw側が先に立ち上がっていないと正しく時刻を取得できません。

> というかそもそも、player側はレンダラーの機能だけですので正確な日付時刻は
> 必要ないのでは?と思っております。(今の時刻不正確な状態でも問題なく再生
必要ないと思います。

Message has been deleted
Message has been deleted

digi...@gmail.com

unread,
Mar 1, 2017, 10:27:03 AM3/1/17
to lightMPD
takobozuさん

> parentProxyを指定してますので、eth1-eth1のLEDは1秒周期で
> 点滅しているのがわかりますし、eth0-eth0のLEDは曲の読込が
この点滅はupmpdcliがmpdのstatusを問い合わせるために起こります。

> 普段コントローラとして使用しているのはLUMINなんですが
> creation5というのがipadで使用できます。
早速c5を使ってみました。これはなかなかいいですね。使っていて楽しいです。

> 再生のたびに広告がでるのが鬱陶しいですが、インターフェースも
> 独特で楽しいので使っております。
気に入ったのでc5+を購入しました。

すてきなソフトの紹介ありがとうございました。

Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

digi...@gmail.com

unread,
Mar 12, 2017, 10:23:13 AM3/12/17
to lightMPD
takobozuさん

> ただ、よく別のスレでも報告されているwav(24bit,44.1khz)がだめですね。
> 音はなりますが雑音まじりとなります。(mpdは0.20.6rt)
これは残念ですね。
polipoの修正に時間がかかりそうなのでsquidへの移行を検討するところでした。
polipoのカスケード問題は取りあえず解決したのですが、polipoでは巨大なファイルを扱えない事が解りました。
その修正に時間がかかりそうです。

今の状態で一度公開するつもりです。本来なら、polipoの深いところをいじる必要があるのですが、
追い切れないので簡易的(結構いい加減)な対応で逃げ切っています。

しかし、新たにカスケードしなくてもwav でノイズになる現象の報告を受けたのですが、それには対応できていません。

wavの場合、ファイルの最後にID3があったり、データチャンクが複数に分かれている場合もあって、仕様的に単純な割には
streamで読み込むのは結構大変なようです。

Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

aki2...@gmail.com

unread,
Mar 16, 2017, 12:12:34 AM3/16/17
to lightMPD
こちらでsquidを使う話を見て、私も試してみたので報告します。mpd(raspi 3B)のhttpd outを、mpd(BBG)のcurlで受けると言う特殊な形なので参考になるかわかりませんが…。raspiでsquidを使い、BBGは何もなしにしました。結論としては、曲の始めはOKなものの途中から上手く再生できなくなりました。

詳細を書きますと、squid.confの設定としてはtakobozuさんのものをお借りしました。再生を始めてhtopを観察していると、confでの
maximum_object_size_in_memory 200 MB
あたりにメモリ使用量が近付くとCPUが100%近くなって、再生がおかしくなります。なお、8xオーバーサンプリングしてるので、ここまではすぐ到達します。
推測ですが、メモリが一杯になった時のsquidの動作(たとえば古いデータを放棄する処理など?)が上手く行ってないのではと考えています。現状では、私の場合はpolipoの方がデータの最大サイズには制限があるものの、このあたりは安定しているようです。
(なお maximum_object_size_in_memory を 8MB だとかにすれば再生は問題ないですが、これだとメモリ使用量が増えないのでメモリキャッシュとしてはあまり働かないようです。)

takobozuさんはこの点は問題なくなったとお書きになってるので、本筋のupnpなら大丈夫なのかもしれません。ただ、930MBのファイルということなので、さらに巨大(wavでオーバーサンプリングしたものなど)だと、もしかすると似たようなことが起こるかもしれません。設定を色々いじれば状況も変わるかもしれませんが、とりあえず報告でした。

Message has been deleted
Message has been deleted
Message has been deleted

digi...@gmail.com

unread,
Mar 24, 2017, 2:45:22 AM3/24/17
to lightMPD
takobozuさん

squidは未検討なのでお力になれません。

> 試聴パターン2でも再生はまともにされますが(polipoのchunkhighmarkを超える
> ファイルはプチノイズが不定期に入るが)。
polipoのデバッグをやっていてきづいたのですが、巨大なファイルを再生する場合、upnpgwとplayer側のネットワークはほぼ帯域を使い切ります。
polipoの他にetherのドライバー(kernel スレッド)が動き回るので、etherドライバーのプライオリィテイをdacのそれより下げないとアンダーランが起こるかもしれません。
polipoのプライオリティと供にetherドライバーの調整も必要なのかもしれません。
apuではcpuパワーがあるのでアンダーランにはならないのですが、2Gのファイルを再生すると、データの転送中はほぼCPUが100%になります。

Message has been deleted

digi...@gmail.com

unread,
Mar 24, 2017, 7:32:06 AM3/24/17
to lightMPD
takobozuさん

早速のテストありがとうございます。

> (wavがやはりノイズまみれの再生となる)
> 私の環境で試したのがpolipoのカスケードなんですが、24bit,44.1khzのwavが以前
> と同じでノイズまみれとなります。
これはちょっと残念です。
dlnaサーバーはqnap上のTwonkyMediaを使ってますが、これだと何の問題もありません。
以前、ノイズだらけだったファイルもこのバージョンでなノイズが出なくなります。
別のスレッドでカスケードにしなくれもIOデータのnasだとノイズだらけになるという報告を頂いています。

takobozuさんのお使いのDLNAサーバーを教えて頂けますか?
また、ノイズの発生する音源(24bit,44.1Khz)は市販の音源ですか?もし、市販の物でしたら教えてください。

Message has been deleted
Message has been deleted

digi...@gmail.com

unread,
Mar 25, 2017, 11:23:07 PM3/25/17
to lightMPD
takobozuさん

qnapはメインに使っていてこれが動かなくなると困るので、ubuntu 16.04にminimserverを入れてテストしました。
こちらの手持ちのwavは問題無く再生できました。
また、cdからリッピングしたflacをfoobar2000で44.1K/24bitのwavに変換したファイルもテストしましたが
これもちゃんと再生されました。
あと、ポップノイズですが私の環境では発生しません。

minimserverのバージョンは

MinimServer 0.8.4 update 97, Copyright (c) 2012-2017 Simon Nash. All rights reserved.

です。

テストは

apu1c(4G)  upnpgw
apu2b(4G)  upnpgwをプレーヤーモードで動作
           mpd-0.20.6rt

で行いました。

luminの表示は確かにおかしいですね。
flacだと問題ないのですが、alacだとbit長 が224bitなどと表示されます。
luminの問題なのか、upmpdcliの問題なのか解りません。

polipoをbuildするときに_PLATFORM_DEFINESは

polipo.mkのPOLIPO_PLATFORM_DEFINESと同じにして下さい。
余分な所の修正は行っていないので、POLIP_PLATFORM_DEFINESを弄ると、今回の修正を行って
いないモジュールが動く場合があります。その前にコンパイル出来ないかもしれませんが。

joecoo...@gmail.com

unread,
Mar 25, 2017, 11:41:49 PM3/25/17
to lightMPD
横から失礼します。
多分見当外れだと思いますが、QNAPのMinimServerを通常の手順でアップデートするとノイズが出るなどの不具合が生じたため、一度アンインストールしてクリーンインストールしたら治った経験が2度あります。
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

digi...@gmail.com

unread,
Mar 28, 2017, 11:25:31 AM3/28/17
to lightMPD
takobozuさん

> (1)polipoを使ってもaudiofileではなくffmpegを使うとなぜちゃんと再生できるのか
> (2)前バージョンのpolipoを使うとwavがノイズまみれになったのはなぜか。
(1)に関してはffmpegでもダメなファイルがあります。

デコーダー(audiofile,ffmpeg等)がwavを読む場合は以下の様になります。

1. 先頭のヘッダーを読み込む
2. fmt chunkを読み込む
3. data chunkを読み込む

fmt chunkと1つのdata chunkからなるwavの場合はファイルの先頭からシーケンシャルに読み込む事になります。

しかし、fmt chunkとdata chunkの間に別なchunkが入ったり、data chunkが複数ある場合もあります。
data chunkにはそのchunkのデータサイズが記録されていますが、data chunkが複数に分かれている場合は
各data chunkのデータサイズの合計が解らないとそのwavファイルの再生時間がわかりません。
data chunkが複数に分かれている場合はランダムアクセスが行われます。

HTTPにはRange: でファイルの一部分を取り出す事ができます。
polipoではデータをchunkという単位で記憶します。chunkのサイズはコンパイル時に決定します。
Range: 1024-10240 というリクエスト(ファイルの1024バイト目から10240バイト目をGET)があった場合は、
Range: 0 - 16484 のリクエストをサーバーにリクエストし、2つのchunkに分けて記憶します。
その2つのchunkから 1024-10240 のデータを切り出してクライアントにreplayします。

さらにHTTPにはIf-Modified-Since: というヘッダーがあって、このヘッダーを指定すると指定された時間以降にファイルの変更がされて
いない場合はデータが送られてきません。

curlでwavを読む場合は以下のようになります。

1. HTTP GET  ヘッダーを読み込む為にファイルの先頭から読み込む
2. ヘッダーを読み込んだらそのセッションを閉じます。
3. HTTP GET Range: でfmt chunkを読み込みます。
4. HTTP GET Range: でdata chunkを辿ります。データサイズの合計から再生時間を割り出します。
5. HTTP GET Range: でdata chunkのデータを読み込んで再生を行います。

上記の4でのリクエストをpolipoが受けてそれをサーバーにリクエストするときにどういう訳かIf-Modified-Sinceがつけられます。
If-Modified-Sinceが付いたリクエストをpolipoが受けると、Range: で指定した範囲がずれてしまい、適切なデータが返せずノイズになっていました。

本来なら、If-Modified-Sinceが適切に付くようにするか、If-Modified-Sinceが付いてもRange: が変わらない様に変更
すべきですが、どこを修正すればよいか追い切れませんでした。
仕方ないので、サーバーがPolipoの場合はIf-Modified-Sinceが付かないような修正を行いました。

> あと、以前polipoでは巨大ファイルがあつかえないとおっしゃられてましたが
> どれくらいの大きさなんでしょうか?(1ファイルで1GBをこえちゃうとか)
オリジナルのpolipoではデータのサイズを32bitの整数で行っています。その為、2Gを超えるとエラーになります。

Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

digi...@gmail.com

unread,
Apr 2, 2017, 9:28:57 AM4/2/17
to lightMPD
takobozuさん

まとめてのレスになります。

> foobar2000でquick convert--->output bit depth を24bitにしたときのみ
> ノイズになることがわかりました。16bit,32bitを指定してwavを作ってもノイズなしに
> 再生されます。
takobozuさんに指摘されてfoobar2000で24bit/44.1kに変換してファイルでもテストしましたが、
こちらではちゃんと再生できてます。テストしたDDCのformatがS32_LEなのでうまくいっているのかもしれません。
wavのdecoderがsndfileの場合S24_3LEやS24_3BEではうまくいかないかもしれません。

> brixは8GBもメモリがあるので最初chunkHighMarkを4GB超で設定していたのですが、
> polipoは起動するがvszが増えないという現象に出くわしましたので4GB未満に変更いたし
> ました。
chunkHighMarkの値が不正だと24Mbyteになります。多分その状態だとおもいます。何故4g以上の値が設定できないかは
調査したいと思います。が、環境がないのでちょっとさきになります。

> BBGのようなメモリが少なくキャッシュ領域が大きくとれないものでのみ起こる現象なんで
> しょうか?
この現象とは何をさしていますか?
現在upnpgwもplayer側もapuでテストを行っています。bbbではテストしていません。
takobozu さんはbbgでpolipov2を使っているのですか? もし、なんか問題があるのなら状況を説明してくれませんか。

> 2GB超のフィイルの再生についての追加です。
> 最後まで再生できるのですが、次のファイルの再生しようとすると
> polipoが落ちますね。なるほどです。
これもこちらでは発生しません。
polipoのテストには


のDS128とwav(24bit/96khz)を使いました。

いずれも全楽章問題なく再生できましたし、その後にflac等を再生しても問題ありませんでした。
2016.12.23の第4楽章のDSD128は2Gbyteを超えています。

あと、以前から指摘されている問題である時間ポーズし、再生を再開すると次の曲にスキップするという現象ですが、
こちらでは発生しません。
これもちょと気になっています。

Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

digi...@gmail.com

unread,
Apr 4, 2017, 11:44:23 AM4/4/17
to lightMPD
takobozuさん

いろいろとあるので一つずつ対応していきます。
2G超えでpolipoが異常終了する件はdlnaサーバーをminmserverにする事で再現できました。
この手のデバッグはデバッグ文が頼りなのですが、データがあまりにも大きくデバッグ文の量も半端ではないので大変です。
落ちる所がわかったので対処したところminimserverでも落ちないようになりました。
qnapのtwinkyでは何故落ちないのか不可解なところもありますが、一応決着したとみています。
キャッシュサイズを4G以上にするとキャッシュなれないはこちらでは発生しません。
また、minimserver でも24bit/96kHzはきちんと再生できます。

もうすこし様子をみてパッチをアップします。

digi...@gmail.com

unread,
Apr 4, 2017, 10:47:50 PM4/4/17
to lightMPD
一部訂正です。

> キャッシュサイズを4G以上にするとキャッシュなれないはこちらでは発生しません。
開発環境ではでてなかったのですが、これもapu で発生しました。
packageのpatchにこの部分が反映されていませんでした。

もうすこしテストしてから、2Gの音源、4G以上のキャッシュの問題に対処したイメージおよびパッケージをアップします。



Message has been deleted
Message has been deleted
Message has been deleted

digi...@gmail.com

unread,
Apr 6, 2017, 10:22:09 AM4/6/17
to ligh...@googlegroups.com
takobozuさん

upnpgwのrootfsを公開しました(2)のスレッドで新しいイメージをアナウンスしたので参照して下さい。

wavがノイズになる件は私の所では再現しません。dlnaサーバーはqnapのTwonkyMedia,ubuntu-16.04(64bit)上のminimserverでテストしました。
テストした音源は
  • 雑誌の付録
  • 第6回 宮城大学復興支援コンサート:2016.12.23」のwav(24bit/96khz)(http://dream26.com/music)
  • foobar2000で作成した16bit/44.1Khz,24bit/44.1Khz
で、polipo-v1の時はいずれもノイズになります。
polipo-v1でノイズになるのは雑誌の付録でした。その他のものはテストしていません。訂正します。

> 24bit 44.1khz wav   ノイズまみれ、しかし音楽そのものは聴こえる

ノイズが発生する場合は、データの順序が異なっていてほとんぞホワイトノイズ状態です。

これはいままでのとちがう現象です。そもそもこのファイルはpolipoを外した状態で再生できますか?



Message has been deleted

digi...@gmail.com

unread,
Apr 7, 2017, 2:34:18 AM4/7/17
to lightMPD
takobozuさん

> >これはいままでのとちがう現象です。そもそもこのファイルはpolipoを外した状態で再生できますか?

> これはrenderer側もupnpgw側もpolipoを外すということですか?
> renderer側のpolipoを外すのは、mpd.confで127.0.0.1:8123ではなく、10.0.0.1:8123
> すればいいんでしたね。

input { 

   plubin   "curl "

}


としてproxyを外して下さい。


wav でホワイトノイズ(サーというノイズ)が出るのとは異なる現象と思われます。

ホワイトノイズの場合はpolipoを外すと直るのでpolipoが原因と判断できましたが、foobar2000で作成した24bit/44.1kの場合はpolipoが原因なのか

それいがいに原因があるのかわかりません。

polipoをはずすとなおるならpolipoに原因があるという事になります。


Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
It is loading more messages.
0 new messages