stumbled across the code for working with Ranges and such again. when you play a video from the start, a Range HTTPHeader is not sent. but if you skip/resume/fast forward? playback, a Range value is sent from where playback should start. after digging through the network code a couple days ago, i now see how to use this code. so i wired it up and was just able to resume video playback! in theory, skip might work for large videos. my tests so far have all been under 5 minutes, so the client (360) doesnt send skip requests.
my main problem is that only WMV files are playing. testing with MP4 and AVI, but those are all failing immediately. mimeTypes and protocolInfo look decent. i'm not sending a bitrate, and duration is 0 for both; but that wasnt a problem for WMV. and the server code isnt currently sending back all HTTP headers that WMP11 and Tversity does, but i wouldnt think that matters. this is what sucks about the 360 being a black box. it doesnt tell me why it thinks my garbage-in is garbage. and it doesnt provide any garbage out, all i see is a fly out on the TV that i read as 'you suck'. so i have to look at 2 working clients and figure out what is and isnt important through comparison. but it ultimately comes down to trial and error.