DLNA comformance test tool and Digital Media Server

HouseBot Plugin Development Discussions.
Post Reply
Huu van
Member
Posts: 1
Joined: Tue Jul 12, 2005 4:01 am

DLNA comformance test tool and Digital Media Server

Post by Huu van »

Hi every body



I have some question about DLNA with items of Media Format profile, special is with jpeg items.(protocolinfor formats for Picture files)



Now I have to work for a project. It is a Digital Media Server. My duty is that I have to pass all of the request items of DLNA conformance test tool version 0.01.07. There are 4 parts of items required in DLNA:

Device Discovery Control

Media Management

Media Format Profile

Media Transport.



Now I’m in progress of conform to the items Media Format Profile. My DMS have desired most of items in Media Format Profile. But there are some items until now I can’t pass. They are items such as

7.6.4.1 MF Optional Image Format with ProfileID : JPEG_LRG

7.6.5.1 MF Optional Image Format with ProfileID : JPEG_TN

My DMS have passed items such as :

7.6.3.1 MF Optional Image Format with ProfileID: JPEG_MED

7.6.1.1 MF Optional Image Format with ProfileID: JPEG_SM



I have read carefull about the definition of items 7.6.4.1 and 7.6.3.1: I will take it out here:

7.6.3.1: The DLNA JPEG_MED media format must follow the requirement of 7.6.1 DLNA JPEG_SM baseline format except for the following image resolution requirements.

Maximun Resolution:

Number of pixels must not exceed 1024*768(horizontal pixels * vertical pixels)

MIME type “image/jpeg” must be used to indicate the content of this media format profile.

DLNA MF profileID “JPEG_MED” must be used to indicate the content of this mediaformat profile



7.6.4.1: The DLNA JPEG_MED media format must follow the requirement of 7.6.1 DLNA JPEG_SM baseline format except for the following image resolution requirements.

Maximun Resolution:

Number of pixels must be up to 4096*4096(horizontal pixels * vertical pixels)

MIME type “image/jpeg” must be used to indicate the content of this media format profile.

DLNA MF profileID “JPEG_LRG” must be used to indicate the content of this mediaformat profile



The different between definitions of two item is that Number of pixels in 7.6.3.1(with DLNA JPEG_MED) is must not exceed 1024* 768 and in 7.6.4.1 (with DLNA JPEG_LRG) is must be up to 4096*4096.

It makes me confuse because I can pass 7.6.3.1 but can’t pass 7.6.4.1. I will show here the detail content communication between DLNA ctt.exe version 0.01.07 with my DMS:

The first time I want to impress that: In my Media fold will only have three jpeg file.

P1SM.jpg(640x480).

P1MED.jpg(640x520).

P1LRG.jpg(1064x860). (> max resolution of JPEG_MED 1024x768)

Because I think fold have small number of files we will easy to observe the content of communication between DLNA ctt.exe with my DMS.





7631: Which I can pass .



////////////////////////////////////////////////////////////////

Step 1 (from dlna ctt.exe->DMS)

POST /ConnectionManager/control HTTP/1.1

Host: 210.111.41.189:59703

Content-Length: 274

Content-Type: text/xml; charset="utf-8"

User-Agent: UPnP/1.0 DLNADOC/1.00

SOAPACTION: "urn:schemas-upnp-org:service:ConnectionManager:1#GetProtocolInfo"



<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

<s:Body>

<u:GetProtocolInfo xmlns:u="urn:schemas-upnp-org:service:ConnectionManager:1">

</u:GetProtocolInfo>

</s:Body>

</s:Envelope>



STEP 2 :(from DMS->dlna ctt.exe)



HTTP/1.1 200 OK

Transfer-Encoding: chunked

EXT:

CONTENT-TYPE: text/xml; charset="utf-8"

SERVER: WINDOWS, UPnP1.0, Intel MicroStack/1.0.1799



2BF

<?xml version="1.0" encoding="utf-8"?>

<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelop ... foResponse xmlns:u="urn:schemas-upnp-org:service:ConnectionManager:1"><Source>http-get:*:audio/L16;rate=44100;channels=2:*http-get:*:audio/lpcm:*,http-get:*:image/jpeg:*,http-get:*:audio/mpeg:*,http-get:*:audio/x-mpeg:*,http-get:*:audio/mpg:*,http-get:*:audio/mp3:*,http-get:*:video/mpeg:*,http-get:*:video/mpeg2:*,http-get:*:video/x-mpeg:*,http-get:*:video/mpg:*,http-get:*:video/MP1S:*,http-get:*:audio/mpegurl:*,http-get:*:audio/x-mpegurl:*</Source><Sink></Sink></u:GetProtocolInfoResponse></s:Body></s:Envelope>

0 /////////////////////////////////////////////////////

STEP 3: (from dlna ctt.exe-> DMS)



POST /ContentDirectory/control HTTP/1.1

Host: 210.111.41.189:59703

Content-Length: 484

Content-Type: text/xml; charset="utf-8"

User-Agent: UPnP/1.0 DLNADOC/1.00

SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"



<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

<s:Body>

<u:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">

<ObjectID>0</ObjectID>

<BrowseFlag>BrowseDirectChildren</BrowseFlag>

<Filter>*</Filter>

<StartingIndex>0</StartingIndex>

<RequestedCount>20</RequestedCount>

<SortCriteria></SortCriteria>

</u:Browse>

</s:Body>

</s:Envelope>

STEP 4: (from DMS->dlna ctt.exe)



HTTP/1.1 200 OK

Transfer-Encoding: chunked

EXT:

CONTENT-TYPE: text/xml; charset="utf-8"

SERVER: WINDOWS, UPnP1.0, Intel MicroStack/1.0.1799



FC

<?xml version="1.0" encoding="utf-8"?>

<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">

<s:Body>

<u:BrowseResponse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">

1

<

6

Result

1

>

C5

<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">

209



<item id="0\B-A-LPCM-4.pcm" parentID="0" restricted="1">

<dc:title>B-A-LPCM-4</dc:title>

<upnp:class>object.item.audioItem</upnp:class>

<res protocolInfo="http-get:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_CI=0" bitrate="44" duration="00:01:05" nrAudioChannels="2" size="11533824">http://210.111.41.189:54631/0/__C/Media ... 4.pcm</res>

</item>

202



<item id="0\B-LPCM-1.pcm" parentID="0" restricted="1">

<dc:title>B-LPCM-1</dc:title>

<upnp:class>object.item.audioItem</upnp:class>

<res protocolInfo="http-get:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=01;DLNA.ORG_CI=0" bitrate="44" duration="00:00:30" nrAudioChannels="2" size="5303806">http://210.111.41.189:54631/0/__C/Media ... 1.pcm</res>

</item>

1E6



<item id="0\B-MP2PS_N-3.mpg" parentID="0" restricted="1">

<dc:title>B-MP2PS_N-3</dc:title>

<upnp:class>object.item.videoItem</upnp:class>

<res protocolInfo="http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC" bitrate="24500" duration="00:00:59" resolution="720x480" size="30300160">http://210.111.41.189:54631/0/__C/Media ... 3.mpg</res>

</item>

1E5



<item id="0\B-MP2PS_P-4.mpg" parentID="0" restricted="1">

<dc:title>B-MP2PS_P-4</dc:title>

<upnp:class>object.item.videoItem</upnp:class>

<res protocolInfo="http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL" bitrate="23040" duration="00:00:59" resolution="720x576" size="32583680">http://210.111.41.189:54631/0/__C/Media ... 4.mpg</res>

</item>

1B0



<item id="0\P1MED.jpg" parentID="0" restricted="1">

<dc:title>P1MED</dc:title>

<upnp:class>object.item.imageItem</upnp:class>

<res protocolInfo="http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_MED" colorDepth="24" resolution="640x520" size="225184">http://210.111.41.189:54631/0/__C/Media ... D.jpg</res>

</item>

1AC



<item id="0\P1SM.jpg" parentID="0" restricted="1">

<dc:title>P1SM</dc:title>

<upnp:class>object.item.imageItem</upnp:class>

<res protocolInfo="http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_SM" colorDepth="24" resolution="640x480" size="221088">http://210.111.41.189:54631/0/__C/Media ... M.jpg</res>

</item>

1B3



<item id="0\P2LRG.jpg" parentID="0" restricted="1">

<dc:title>P2LRG</dc:title>

<upnp:class>object.item.imageItem</upnp:class>

<res protocolInfo="http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_LRG" colorDepth="24" resolution=" 1064x860" size=" 499616">http://210.111.41.189:54631/0/__C/Media ... G.jpg</res>

</item>

14



</DIDL-Lite>

2

</

6

Result

3

>



1

<

E

NumberReturned

1

>

1

7

2

</

E

NumberReturned

3

>



1

<

C

TotalMatches

1

>

1

7

2

</

C

TotalMatches

3

>



1

<

8

UpdateID

1

>

1

0

2

</

8

UpdateID

3

>



30

</u:BrowseResponse>

</s:Body>

</s:Envelope>

0

STEP 5:(from dlna ctt.exe-> DMS)



GET /0/__C/Media/Test/P1MED.jpg HTTP/1.1

Server: 210.111.41.189:54631

Accept-Language: en-US

Host: 210.111.41.189:54631

STEP 6:(from DMS->dlna ctt.exe)



HTTP/1.1 200 OK

Transfer-Encoding: chunked

CONTENT-LENGTH: 221184

CONTENT-TYPE: image/jpeg

SERVER: PLUS V20

x-nmpr2-session-id: C:/Media/Test/P1MED.jpg-1042902994-137934531



1000

......JFIF.............C....................................................................C............................................................................"......................................

.....................}........!1A..Qa."q.2....#B...R..$3br..

.....%&'()*4…..(data in P1MED.jpg file)..

//////////////////////////////////////////

In the case: when test dlna ctt.exe with dms for item 7611(with jpeg_SM), 7.6.4.1(with jpeg_LRG), we will have the content of result in first 4 steps is the same. (The only difference is that case of 7.6.4.1 (for JPEG_LRG) does not have step 5 and step 6.)



In summary:

You can see the progress in case of 7.6.3.1with JPEG_MED (I have passed this item)

1: CTT-> DMS : ask about GetProtocolInfo

2 Dms->CTT : Response The content of ProtocolInfo

3 : CTT-> DMS : Ask Browse Media Content inside DMS

4- DMS-> CTT : Responese the content inside DMS . It include :

audio files: B-A-LPCM-4.pcm, B-LPCM-1.pcm

video files: B-MP2PS_N-3.mpg , B-MP2PS_P-4.mpg

piture files: P1SM.jpg,P1MED.jpg, P1LRG.jpg

5.CTT-> DMS : GET P1MED.jpg

6.DMS->CTT: Response the content of P1MED.jpg



The progress in case of 7.6.1.1 with JPEG_SM(I have passed this item)



1: CTT-> DMS : ask about GetProtocolInfo

2 Dms->CTT : Response The content of ProtocolInfo

3 : CTT-> DMS : Ask Browse Media Content inside DMS

4- DMS-> CTT : Responese the content inside DMS . It include :

audio files: B-A-LPCM-4.pcm, B-LPCM-1.pcm

video files: B-MP2PS_N-3.mpg , B-MP2PS_P-4.mpg

piture files: P1SM.jpg,P1MED.jpg, P1LRG.jpg

5.CTT-> DMS : GET P1SM.jpg

6.DMS->CTT: Response the content of P1SM.jpg







The progress in case of 7.6.4.1 with JPEG_LRG(I have not passed this item)



1: CTT-> DMS : ask about GetProtocolInfo

2 Dms->CTT : Response The content of ProtocolInfo

3 : CTT-> DMS : Ask Browse Media Content inside DMS

4- DMS-> CTT : Responese the content inside DMS . It include :

audio files: B-A-LPCM-4.pcm, B-LPCM-1.pcm

video files: B-MP2PS_N-3.mpg , B-MP2PS_P-4.mpg

piture files: P1SM.jpg,P1MED.jpg, P1LRG.jpg



I recognized that in case of JPEG_LRG : There are just 4 steps.( The content of these 4 steps is same in the case of JPEG_SM or in case of JPEG_MED). It difference from the case of jPEG_SM and JPEG_MED which have 6 steps.

In case of JPEG_SM there are step 5 to get P1SM.jpg .

In case of JPEG_MED there are step 5 to get P1MED.jpg



I think may be In step 4 the content about jPEG_LRG file have some problem . So that Dlna ctt.exe did not continue operate step 5.



Please tell me what wrong it is.



Are there any one can tell or discuss with me about DLNA Home Networked Device Interoperability guidelinse v1.0

Thank you very much

HUU VAN
Post Reply