Re: dlna compliance issues mk2
John Stirling <[email protected]>
| Newsgroups | gmane.comp.multimedia.helix.devel |
|---|---|
| Message-ID | <[email protected]> |
With this change :
switch(ulHTTPStatus)
{
case 100: // Continue // XXX
m_bReadHeaderDone = FALSE; // XXX
retVal= HXR_OK; //XXX
break; // XXX
case 206: // Success. Partial data.
It's getting a bit further but there is something a bit weird.
Adding some debug into httpfsys shows (note no 200 OK):
BZh9rE8P�CHTTPFileObject::HandleSocketRead
Hex Dump
0x00: 48 54 54 50 2f 31 2e 31 20 31 30 30 20 43 6f 6e HTTP/1.1 100 Con
0x10: 74 69 6e 75 65 0d 0a 44 61 74 65 3a 20 46 72 69 tinue..Date: Fri
0x20: 2c 20 32 30 20 4a 75 6e 20 32 30 30 38 20 31 31 , 20 Jun 2008 11
0x30: 3a 34 34 3a 32 37 20 47 4d 54 0d 0a 0d 0a 48 54 :44:27 GMT....HT
0x40: 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d 0a 53 TP/1.1 200 OK..S
0x50: 65 72 76 65 72 3a 20 37 2e 34 2e 34 32 2e 34 20 erver: 7.4.42.4
0x60: 44 4d 53 0d 0a 44 61 74 65 3a 20 46 72 69 2c 20 DMS..Date: Fri,
0x70: 32 30 20 4a 75 6e 20 32 30 30 38 20 31 31 3a 34 20 Jun 2008 11:4
0x80: 34 3a 32 37 20 47 4d 54 0d 0a 43 4f 4e 54 45 4e 4:27 GMT..CONTEN
0x90: 54 2d 4c 45 4e 47 54 48 3a 20 35 33 30 33 38 30 T-LENGTH: 530380
0xa0: 36 0d 0a 63 6f 6e 74 65 6e 74 46 65 61 74 75 72 6..contentFeatur
0xb0: 65 73 2e 64 6c 6e 61 2e 6f 72 67 3a 20 44 4c 4e es.dlna.org: DLN
0xc0: 41 2e 4f 52 47 5f 50 4e 3d 4c 50 43 4d 3b 44 4c A.ORG_PN=LPCM;DL
0xd0: 4e 41 2e 4f 52 47 5f 4f 50 3d 30 31 0d 0a 74 72 NA.ORG_OP=01..tr
0xe0: 61 6e 73 66 65 72 4d 6f 64 65 2e 64 6c 6e 61 2e ansferMode.dlna.
0xf0: 6f 72 67 3a 20 53 74 72 65 61 6d 69 6e 67 0d 0a org: Streaming..
0x100: 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 61 75 Content-Type: au
0x110: 64 69 6f 2f 4c 31 36 3b 72 61 74 65 3d 34 34 31 dio/L16;rate=441
0x120: 30 30 3b 63 68 61 6e 6e 65 6c 73 3d 31 0d 0a 0d 00;channels=1...
0x130: 0a
CHTTPFileObject::HandleHeaderRead
Hex Dump
0x00: 48 54 54 50 2f 31 2e 31 20 31 30 30 20 43 6f 6e HTTP/1.1 100 Con
0x10: 74 69 6e 75 65 0d 0a 44 61 74 65 3a 20 46 72 69 tinue..Date: Fri
0x20: 2c 20 32 30 20 4a 75 6e 20 32 30 30 38 20 31 31 , 20 Jun 2008 11
0x30: 3a 34 34 3a 32 37 20 47 4d 54 0d 0a 0d 0a 48 54 :44:27 GMT....HT
0x40: 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d 0a 53 TP/1.1 200 OK..S
0x50: 65 72 76 65 72 3a 20 37 2e 34 2e 34 32 2e 34 20 erver: 7.4.42.4
0x60: 44 4d 53 0d 0a 44 61 74 65 3a 20 46 72 69 2c 20 DMS..Date: Fri,
0x70: 32 30 20 4a 75 6e 20 32 30 30 38 20 31 31 3a 34 20 Jun 2008 11:4
0x80: 34 3a 32 37 20 47 4d 54 0d 0a 43 4f 4e 54 45 4e 4:27 GMT..CONTEN
0x90: 54 2d 4c 45 4e 47 54 48 3a 20 35 33 30 33 38 30 T-LENGTH: 530380
0xa0: 36 0d 0a 63 6f 6e 74 65 6e 74 46 65 61 74 75 72 6..contentFeatur
0xb0: 65 73 2e 64 6c 6e 61 2e 6f 72 67 3a 20 44 4c 4e es.dlna.org: DLN
0xc0: 41 2e 4f 52 47 5f 50 4e 3d 4c 50 43 4d 3b 44 4c A.ORG_PN=LPCM;DL
0xd0: 4e 41 2e 4f 52 47 5f 4f 50 3d 30 31 0d 0a 74 72 NA.ORG_OP=01..tr
0xe0: 61 6e 73 66 65 72 4d 6f 64 65 2e 64 6c 6e 61 2e ansferMode.dlna.
0xf0: 6f 72 67 3a 20 53 74 72 65 61 6d 69 6e 67 0d 0a org: Streaming..
0x100: 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 61 75 Content-Type: au
0x110: 64 69 6f 2f 4c 31 36 3b 72 61 74 65 3d 34 34 31 dio/L16;rate=441
0x120: 30 30 3b 63 68 61 6e 6e 65 6c 73 3d 31 0d 0a 0d 00;channels=1...
0x130: 0a
content-type=
ulHTTPStatus=100
CHTTPFileObject::HandleSocketRead
Hex Dump
0x00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
But a TCP dump of the same session shows:
12:44:20.580693 IP (tos 0x0, ttl 128, id 14948, offset 0, flags [DF],
proto: TCP (6), length: 114) qa.internal.reciva.com.36294 >
dobblers.internal.reciva.com.59625: P, cksum 0xc781 (correct), 1:63(62)
ack 465 win 65071 <nop,nop,timestamp 7863714 2002858643>
0x0000: 4500 0072 3a64 4000 8006 6a6d c0a8 6a31 E..r:[email protected]
0x0010: c0a8 6a32 8dc6 e8e9 a40e 2896 ee57 259b ..j2......(..W%.
0x0020: 8018 fe2f c781 0000 0101 080a 0077 fda2 .../.........w..
0x0030: 7761 3293 4854 5450 2f31 2e31 2031 3030 wa2.HTTP/1.1.100
0x0040: 2043 6f6e 7469 6e75 650d 0a44 6174 653a .Continue..Date:
0x0050: 2046 7269 2c20 3230 204a 756e 2032 3030 .Fri,.20.Jun.200
0x0060: 3820 3131 3a34 343a 3237 2047 4d54 0d0a 8.11:44:27.GMT..
0x0070: 0d0a ..
12:44:20.580718 IP (tos 0x0, ttl 64, id 4427, offset 0, flags [DF],
proto: TCP (6), length: 52) dobblers.internal.reciva.com.59625 >
qa.internal.reciva.com.36294: ., cksum 0x20e3 (correct), 465:465(0) ack
63 win 46 <nop,nop,timestamp 2002858742 7863714>
0x0000: 4500 0034 114b 4000 4006 d3c4 c0a8 6a32 E..4.K@[email protected]
0x0010: c0a8 6a31 e8e9 8dc6 ee57 259b a40e 28d4 ..j1.....W%...(.
0x0020: 8010 002e 20e3 0000 0101 080a 7761 32f6 ............wa2.
0x0030: 0077 fda2 .w..
12:44:20.581044 IP (tos 0x0, ttl 128, id 14949, offset 0, flags [DF],
proto: TCP (6), length: 295) qa.internal.reciva.com.36294 >
dobblers.internal.reciva.com.59625: P, cksum 0x12f5 (correct),
63:306(243) ack 465 win 65071 <nop,nop,timestamp 7863714 2002858742>
0x0000: 4500 0127 3a65 4000 8006 69b7 c0a8 6a31 E..':[email protected]
0x0010: c0a8 6a32 8dc6 e8e9 a40e 28d4 ee57 259b ..j2......(..W%.
0x0020: 8018 fe2f 12f5 0000 0101 080a 0077 fda2 .../.........w..
0x0030: 7761 32f6 4854 5450 2f31 2e31 2032 3030 wa2.HTTP/1.1.200
0x0040: 204f 4b0d 0a53 6572 7665 723a 2037 2e34 .OK..Server:.7.4
0x0050: 2e34 322e 3420 444d 530d 0a44 6174 653a .42.4.DMS..Date:
0x0060: 2046 7269 2c20 3230 204a 756e 2032 3030 .Fri,.20.Jun.200
0x0070: 3820 3131 3a34 343a 3237 2047 4d54 0d0a 8.11:44:27.GMT..
0x0080: 434f 4e54 454e 542d 4c45 4e47 5448 3a20 CONTENT-LENGTH:.
0x0090: 3533 3033 3830 360d 0a63 6f6e 7465 6e74 5303806..content
0x00a0: 4665 6174 7572 6573 2e64 6c6e 612e 6f72 Features.dlna.or
0x00b0: 673a 2044 4c4e 412e 4f52 475f 504e 3d4c g:.DLNA.ORG_PN=L
0x00c0: 5043 4d3b 444c 4e41 2e4f 5247 5f4f 503d PCM;DLNA.ORG_OP=
0x00d0: 3031 0d0a 7472 616e 7366 6572 4d6f 6465 01..transferMode
0x00e0: 2e64 6c6e 612e 6f72 673a 2053 7472 6561 .dlna.org:.Strea
0x00f0: 6d69 6e67 0d0a 436f 6e74 656e 742d 5479 ming..Content-Ty
0x0100: 7065 3a20 6175 6469 6f2f 4c31 363b 7261 pe:.audio/L16;ra
0x0110: 7465 3d34 3431 3030 3b63 6861 6e6e 656c te=44100;channel
0x0120: 733d 310d 0a0d 0a s=1....
12:44:20.581064 IP (tos 0x0, ttl 64, id 4428, offset 0, flags [DF],
proto: TCP (6), length: 52) dobblers.internal.reciva.com.59625 >
qa.internal.reciva.com.36294: ., cksum 0x1fe8 (correct), 465:465(0) ack
306 win 54 <nop,nop,timestamp 2002858742 7863714>
0x0000: 4500 0034 114c 4000 4006 d3c3 c0a8 6a32 E..4.L@[email protected]
0x0010: c0a8 6a31 e8e9 8dc6 ee57 259b a40e 29c7 ..j1.....W%...).
0x0020: 8010 0036 1fe8 0000 0101 080a 7761 32f6 ...6........wa2.
0x0030: 0077 fda2 .w..
12:44:20.699645 IP (tos 0x0, ttl 128, id 14953, offset 0, flags [DF],
proto: TCP (6), length: 1500) qa.internal.reciva.com.36294 >
dobblers.internal.reciva.com.59625: ., cksum 0x1c45 (correct),
306:1754(1448) ack 465 win 65071 <nop,nop,timestamp 7863715 2002858742>
0x0000: 4500 05dc 3a69 4000 8006 64fe c0a8 6a31 E...:[email protected]
0x0010: c0a8 6a32 8dc6 e8e9 a40e 29c7 ee57 259b ..j2......)..W%.
0x0020: 8010 fe2f 1c45 0000 0101 080a 0077 fda3 .../.E.......w..
0x0030: 7761 32f6 0000 0000 0000 0000 0000 0000 wa2.............
0x0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0050: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0060: 0000 0000 0000 0000 0000 0000 0000 0000 ................
Any idea what's going on here ?
John Stirling wrote:
> We're failing another DLNA test (see text below). We're on cayenne.
>
> Test: To verify that HTTP/1.1 client endpoints properly handle HTTP
> response codes of 1xx from HTTP servers, even when not expected.
>
> 8/06/2008 16:16:34: INFO: *** Starting Test: => "7.4.42.4 MT Baseline
> Transport: HTTP Client Endpoints: 1xx Status Codes"
> 18/06/2008 16:16:34: INFO: 1. Start a DMS Simulator with the name
> “7.4.42.4 DMS”.
> 18/06/2008 16:16:35: INFO: 2. Prompt the user to render/download a
> media item from the DMS Simulator.
> 18/06/2008 16:16:48: INFO: 3.1 Received an HTTP GET, checking its
> version to see if it is HTTP/1.1.
> 18/06/2008 16:16:48: INFO: 3.2 The request was found to be HTTP
> Version 1.1, sending the response using 100 continue.
> 18/06/2008 16:16:48: INFO: Now sending the 200 OK.
> 18/06/2008 16:16:48: INFO: 4. Please verify that the media item
> successfully rendered.
> 18/06/2008 16:17:44: INFO: DUT did not properly handle HTTP response
> codes of 1xx from HTTP servers.
> 18/06/2008 16:17:49: FAILED: DUT did not properly handle HTTP response
> codes of 1xx from HTTP servers.
>
>
> There doesn't seem to be any handling of status code 100 in
> CHTTPFileObject::HandleHeaderRead. As far as I'm aware we should just
> ignore the 100 and wait for the next header to arrive.
> I tried adding this:
>
> switch(ulHTTPStatus)
> {
> case 100: // Continue // XXX
> retVal= HXR_OK; //XXX
> break; // XXX
>
> case 206: // Success. Partial data.
>
> but that doesn't seem to help. Any pointers on what we should be doing
> in response to a 100 status code ? I'm guessing it's an easy fix, but
> httpfsys is pretty big so any help much appreciated.
>
> John
>
>
>
>
>
>
>
>
> _______________________________________________
> Helix-client-dev mailing list
> [email protected]
> http://lists.helixcommunity.org/mailman/listinfo/helix-client-dev
_______________________________________________
Helix-client-dev mailing list
[email protected]
http://lists.helixcommunity.org/mailman/listinfo/helix-client-dev