- DMC (Control Point)
- DMS (Server)
- DMP (Player)
- DMR (Renderer)
Android | iOS | |
---|---|---|
App | Java | ObjC |
Wrapper | ||
- Complaints | ||
- Language | ||
- DLNA | ||
Stack | C | C |
ネットワークに散在する端末同士通信。サーバより映像、音楽、画像データを取得、クライアントで再生。SSDP (Simple Service Discovery Protocol)はその通信方式を定めたプロトコル。M-Search methodで端末情報記載、送信者にその情報を送信。
SOAP-ClientがSOAP-Serverに送信するSOAP要求と、それに応答してSOAP-ServerがSOAP-Clientに送信するSOAP応答が存在。HTTPでSOAPを使用する際Content-Typeは必ずXMLである必要
# SOAP要求
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
<SOAP-ENV:Body>
<m:getListOfModels xmlns:m = "uri reference" >
</m:getListOfModels>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
# SOAP応答
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<m:getListOfModelsResponse xmlns:m="urn:MobilePhoneservice">
<Model>M1</Model>
<Model>M2</Model>
<Model>M3</Model>
</m:getPriceResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
ISO13818-1、ARIB STD-B10を眺めながらMpeg2-tsファイルをパース。TSのバイナリは188-byteを1-Packetとしパケット全て0x47から始まる。また先頭4-byteはヘッダで後続バイトが何者かなどの情報が入る。
(ISO13818-1 2.4.3.2, Table 2-2)
[Build settings]で適宜合わせiOSシミュレータ、実機双方でクリーンしビルド。ビルド成功後ユニバーサルライブラリ生成スクリプト、ユニバーサルライブラリコピースクリプトを実行。
~$ cd MA_P2P/P2PLib
~$ ./make_univarsal.sh
~$ ./copyP2pLibsToMoj.sh ../../MA_STB/iOS/
P2Pビルド完了次第DLNAをビルド。[Build settings]で適宜合わせiOSシミュレータ、実機双方でクリーンしビルド。ビルド成功後、ユニバーサルライブラリ生成スクリプトを実行。
~$ cd DLNA-SDK/iOS_Lib
~$ ./make_univarsal.sh
DLNAビルド完了次第アプリをビルド。[Build settings]で適宜合わせiOSシミュレータ、実機双方でクリーンしビルド。
~$ cd ../../iOS