Mplayer lags when playing over the network
The program mplayer lags when playing high quality media over the network. This is not an issue when playing locally, but it becomes an issue when playing large (>= 1 GiB) Matroska video files over the network.
By "lag" I mean that the animation freezes at a fixed frequency, every five second or so the animation will halt for a fraction of a second, which is very annoying.
The network is a 100 Mbit switched ethernet network, I typically get around 10 MiB per second in actual flow rate and there is no noteworthy traffic on the network that degrades the performance. The lag is there regardless of traffic.
If I have a file at 1.4 GiB which is 60 minutes long, shouldn't that equal < 0.4 MiB/sec in required flow rate? I.e. I should be able to play this file over a 10 Mbit network. Yet, even on a 100 Mbit network this doesn't work.
The computer I use to play this media is a 4.12 GHz Core i7 with 6 GiB RAM and a GTX480 graphics card.
I have the latest graphics drivers.
I use Slackware 13.1.0.
I use a custom, small and highly optimized kernel (although the same issue is there with the standard kernel).
My version of mplayer is MPlayer SVN-r31498-snapshot-4.4.4.
The network protocol used is SMB, i.e. I play from a mounted SMB resource.
I have tried to host the file on different computers, both are dedicated file servers, one is a Pentium 4 3.0 GHz with 2 GiB RAM with no load other than hosting files, the other being almost equivalent except with a 2.8 GHz CPU.
Watching the system load on the machines yield nothing of interest, sending a mere ~0.5 MiB per second is nothing for a computer like that, even though a P4 is not exactly new anymore.
What is interesting though is that if I use the "-vo gl" argument to mplayer, the performance is greatly improved, there is very rarely any lag.
Now correct me if I'm wrong, but why on earth would the video output driver chosen affect the performance on a machine that has a 4.12 GHz Core i7 CPU, plenty of RAM, a very fast graphics card, and nothing else to do? I.e. no load at all?
When I use the standard output driver, there is almost no load at all on the system. So what the heck is this?