I'm still unsuccesful with Windows Phone but I will win!
Yesterday after the thousendth crash with wmv profile I decided that I don't want to see it anymore so I downloaded PMS sources, set up the envirorment and added a new MP4H264AAC profile, luckily it didn't involve many changes and at least my phone doesn't crash anymore (still getting an error though).
I found a problem with the build process on Windows that stops the package phase:
At line 1052 of the pom.xml file <phase>prepare-package</phase> should be <phase>package</phase> otherwise it cannot find the jar file cause it hasn't been created yet.
I was wondering also why in RequestV2.java has been added CLoverride != DLNAMediaInfo.TRANS_SIZE in this condition:
- Code: Select all
line 787 // Content-Length override has been set, send or omit as appropriate
if (CLoverride > -1 && CLoverride != DLNAMediaInfo.TRANS_SIZE) {
// Since PS3 firmware 2.50, it is wiser not to send an arbitrary Content-Length,
// as the PS3 will display a network error and request the last seconds of the
// transcoded video. Better to send no Content-Length at all.
output.setHeader(HttpHeaders.Names.CONTENT_LENGTH, "" + CLoverride);
}
Doing this causes the ChunkedTransfer's option in the conf file to be completely useless, if the PS3 doesn't want the header should be added to it's configuration file ChunkedTransfer = true and removed the && CLoverride != DLNAMediaInfo.TRANS_SIZE from the condition.
Apart from this I have some questions about the dlna protocol, I think that's the problem with my phone, when it request a file it sends this headers:
- Code: Select all
GET /get/0$2$14/prova.mp4 HTTP/1.1
Accept: */*
User-Agent: NSPlayer/07.00.0000.0000 WMFSDK/07.00.0000.0000
GetContentFeatures.DLNA.ORG: 1
Pragma: getIfoFileURI.dlna.org
Host: 192.168.1.3:5001
It requests the content feautures to the server so the problem might be in that specific header in the response. From what I understood serching on the internet and using wireshark is that it is composed by:
DLNA.ORG_PN for the protocol name,
----> I set it to AVC_MP4_MP_SD_AAC_LC in DLNAResource.java for video/mp4 files
DLNA.ORG_OP for the seek options,
----> This shouldn't cause much problems although maybe for me would be better to set it to 00 to be safe
DLNA.ORG_CI 1 if transcoded, 0 if not,
----> Why is it hardcoded in pms?
DLNA.ORG_FLAGS other feautures (don't know which),
----> Why 017? What does it mean? I saw that WMP uses 015
About the TransferMode.DLNA.ORG: header, apart from streaming and interactive, what other values exist and shouldn't it be specified in the response?
And what is Pragma: getIfoFileURI.dlna.org ?? I couldn't find any information about this.
I know, a lot of questions :p but I really want to understand how this works

