Linux Constant buffering with 12.0
#1
I recently set up a FreeNAS box to host all of my movie files, and set up XBMC to use NFS to get the videos over the network to play them. Ever since I switched over, videos are constantly buffering. Some times the video will only buffer a little bit at the start, but then be fine for the rest of the video -- and some of the videos will only buffer about a minute at a time.

This is what shows up in the ~/.xbmc/temp/xbmc.log file when I'm playing a video:

Code:
21:57:03 T:2553232192 WARNING: Previous line repeats 1 times.
21:57:03 T:2553232192 WARNING: CDVDMessageQueue(video)::Get - asked for new data packet, with nothing available
21:57:17 T:2553232192 WARNING: CRenderManager::FlipPage - timeout waiting for flip to complete
21:57:30 T:2540645184 WARNING: CDVDMessageQueue(audio)::Get - asked for new data packet, with nothing available
21:57:31 T:2553232192 WARNING: CDVDMessageQueue(video)::Get - asked for new data packet, with nothing available
21:57:56 T:2540645184 WARNING: CDVDMessageQueue(audio)::Get - asked for new data packet, with nothing available
21:57:57 T:2553232192 WARNING: CDVDMessageQueue(video)::Get - asked for new data packet, with nothing available
21:58:21 T:2540645184 WARNING: CDVDMessageQueue(audio)::Get - asked for new data packet, with nothing available
21:58:21 T:2553232192 WARNING: CDVDMessageQueue(video)::Get - asked for new data packet, with nothing available

Here are the stats for the FreeNAS box:

Code:
Build    FreeNAS-9.1.1-RELEASE-x64 (a752d35)
Platform    AMD A4-5300 APU with Radeon(tm) HD Graphics
Memory    15806MB

7TB total ( shows healthy in 'View Volumes' )

The stats for my XBMC box:

Code:
XBMC 12.0 Git:fb595f2 ( Compiled: Jan 28 2013 )
Intel Pentium Dual-Core @ 3.2Ghz ( E5800 )
8GB RAM

Both the FreeNAS box and the XBMC box are hardwired to the router. IPerf from one to the other has these results: ( XBMC as client ):

Code:
------------------------------------------------------------
Client connecting to 192.168.1.129, TCP port 5001
TCP window size: 22.9 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.110 port 49602 connected with 192.168.1.129 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 2.0 sec   224 MBytes   942 Mbits/sec
[  3]  2.0- 4.0 sec   223 MBytes   937 Mbits/sec
[  3]  4.0- 6.0 sec   224 MBytes   938 Mbits/sec
[  3]  6.0- 8.0 sec   223 MBytes   936 Mbits/sec
[  3]  8.0-10.0 sec   224 MBytes   937 Mbits/sec
[  3]  0.0-10.0 sec  1.09 GBytes   938 Mbits/sec

Here's the ~/.xbmc/userdata/advancedsettings.xml:

Code:
<advancedsettings>
  <network>
    <cachemembuffersize>2147483648</cachemembuffersize>
  </network>  
  <useddsfanart>true</useddsfanart>
  <cputempcommand>cputemp</cputempcommand>
  <gputempcommand>gputemp</gputempcommand>
  <samba>
    <clienttimeout>30</clienttimeout>
  </samba>
  <network>
    <disableipv6>true</disableipv6>
  </network>
</advancedsettings>

One thing I noticed is that even though the network card in the XBMC computer is capable of 1000Mbps, it's only using 100Mbps. This is the output from ethtool:

Code:
Settings for eth0:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  Not reported
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: Unknown
    Supports Wake-on: pg
    Wake-on: g
    Current message level: 0x0000003f (63)
                   drv probe link timer ifdown ifup
    Link detected: yes

Another thing I noticed is that Settings -> System Info -> Summary is showing 'Total memory: 3965 MB, Free memory: 3744MB', when I've got 8GB installed. Is this just me not reading that part properly?

Any thoughts on what I can do to get rid of this buffering problem? I'm going to try using a different network cable, see if that helps, but I'm not sure what else I can try. I've been working on this all weekend, and I'd like to get this sorted out. Being able to watch a 40 minute show in 40 minutes ( and not an hour and a half ) would be pretty awesome.

Also, I can play videos from NFS over Wifi on my laptop using mplayer without any issues. Same file, same storage, same mount point, no buffering.
Reply
#2
Two things:

Use a 64 bit installation or you are limited to 4GB Memory. Set the Uma size for your GPU to at least 512MB, check that thread for your AMD: http://forum.xbmc.org/showthread.php?tid=116996

Use a v13 nightly and play with the <readbufferfactor> advancedsettings.xml setting, which is documented in the wiki.

Edit: Sorry were three things.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#3
Oooookay.

So, I re-installed XBMCbuntu, using 12.2. Only difference in hardware was switching out the 3TB for a 500GB ( as I no longer need the 3TB thanks to the NAS ).

I also switched network cables ( and now ethtool shows the link using 1000Mbps ).

Now everything works fine.

So, I changed a few things all at once, and now things work fine.
Reply

Logout Mark Read Team Forum Stats Members Help
Constant buffering with 12.00