I am trying to dig through the code and find the section for where streaming out to to the device (Sony Bravia in this case) is. I am suspecting a bandwidth limitation somewhere. Can anyone give me a pointer?
If I play a 720p video very busy scenes will stutter. The buffer is full, CPU usage is low, and the network interface is not saturated, or even close to it. If I pause for just a second it seems the buffer in the TV is re-filled and it plays fine for a few more seconds and then begins to stutter again.
Perhaps I am looking in the wrong direction though... I would expect, during busy scenes (often large outdoor scenes with lots of texture) to see network utilization increase to something closer to what the network itself is able to handle or at least what is necessary to keep the TV supplied with what it needs.
Interestingly if I set PMS to scale the video down to 800x-1 or so, the stuttering decreases, network usage average decreases correspondingly, but when the stuttering starts I do not see usage reach the average when not scaling the video. Or in other words, while stuttering scaled down the network usage is significantly lower than stuttering while not scaled. Regular streaming not scaled will average higher bandwidth than scaled does while stuttering. I would think the network usage should approach the not scaled usage before stuttering begins.
And one last thing: The PMS.sh as of the latest SVN checkout I did (Revision 710) still has what I assume to be a bug. It has been there since I started using PMS a year or more ago. When starting the JVM at the very bottom:
exec "$JAVA" $JAVA_OPTS -Xmx768M -Xss16M -Dfile.encoding=U....
I think -Xss16M should be -Xms16M to set the initial heap size to 16M as opposed to setting the thread stack size to 16M. Maybe some people need a 16M thread stack size, but it has caused problems for me.
- Code: Select all
< exec "$JAVA" $JAVA_OPTS -Xmx768M -Xss16M -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -classpath "$PMS_JARS" net.pms.PMS "$@"
> exec "$JAVA" $JAVA_OPTS -Xmx768M -Xms16M -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -classpath "$PMS_JARS" net.pms.PMS "$@"