I figured this out. I'm not sure who to talk to about the fix. Essentially PS3 has a 2GB audio pcm/stream/file size limit. In DLNAResource.java when its a stream the size is set to DLNAMediaInfo.TRANS_SIZE which is 100000000000L. Divide that by 2^32 (or 4294967296) and you get 1215752192 which is a number less than 2^31 (or 2147483648). That number works out to be 1 hour 45 minutes and 32 seconds of streaming time. It only worked at all because when 100000000000L is assigned to a signed integer type on the PS3 it ends up being a positive number (or less then 2Gb). So, the limit is 2Gbs. Once you set that size to 2147483647 you get the maximum amount of streaming time of 3 hours 6 minutes and 24 seconds.

To get around the 3 hour limit I think you can just set that stream to repeat in the mini control window on the ps3. You can repeat 1 or infinite times. I haven't tried this yet, but I think that would work.

My stuff is at the bottom. The fix itself (ie. the use of the caffeinate command) is pretty straight forward. But someone who knows more about the pms code might have a better way to implement this. Thanks again!