2013-08-22, 09:24
(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.
Oh you star - I'm afraid I took a break from this yesterday so you've saved me a ton of effort!
Give me a shout if there's a patch you want me to test!
Edit1: I see you've posted a patch, will test and let you know... should this apply cleanly to master head?
Edit2: Yay, github.com is experiencing server errors...