2013-08-22, 01:55
(2013-08-21, 23:51)popcornmix Wrote: Found it. We update buffering stats once per packet received. Typically there are 24 of these for video, and slightly more for audio per second.
The stats info involves querying the gpu for the current media time. Talking to the gpu is a little expensive (but fine for ~100 call per second).
However TrueHD audio generates thousands of packets per second. We discard them after receiving them, but they still trigger the media time request to gpu.
Thousands of gpu requests per second is enough to slow things down.
I need to add a rate limiter so gpu is only queried a maximum of, say, 50 or 100 times per second.
Fix added to newclock3 and frodo_rbp_backports branches.