DLNAサーバーを実装したときにハマったことのメモ
DLNAを自前で実装したときにハマったことメモ
クライアントによって挙動が変わる
当たり前ですがクライアント実装によってあちらでは動いたのにこちらでは動かないとか結構変わります。
XMLドキュメントの要素の順序を入れ替えると動かなくなるクライアントもあったりします。
BubbleUPnP(2.6.1)
Service descriptionのXMLデータの<action>内の<argument>要素の順序を入れ替えると動作しない。
一般的な順序にしておいたほうが無難。
PS3
モデルネームが「nasne」のものは特別扱い。
「nasne」の場合、オプションメニューに削除やコピーの操作が表示される。
ただし、これだけではだめでDevice descriptionのXML要素に「<device>」の下位に「<dlna:X_DLNACAP>audio-upload,av-upload,create-item-with-OCM-destroy-item,dtcp-move,image-upload</dlna:X_DLNACAP>」が必要。
接頭辞は「dlna」でないと認識しないのでXML生成には注意。
これで「urn:schemas-upnp-org:service:ContentDirectory:1」の「DestroyObject」アクション等がPS3から呼び出せる。
PS4
定期的にNOTIFY(SSDP)を送信しないと再生中でもお構いなしに切断される。