[Touch Diamond, MDA Compact IV General] thx1200:
Now, now. He's being helpful. I've had about four email correspondences with him and he's digging into this. He's even tested it on his SPrint Touch Pro test device (this is HTC America, btw) and he says he hears no skip on his device, for what it's worth.

I was investigating the HTC Audio Manager and noticed something...

First, it rarely skips on my phone. lol. I guess I shoudl have tried it out ages ago. I just use Pocket Player exclusively and noticed that most people on this thread have bad luck with HTCAM so I assumed I would too. I can make it skip by performing certain activities (such as turning the radio on and off), but otherwise I rarely get a skip unless I receive a text message or something.

Second, examining the AudioManager_Eng.exe process in DotFred's task manager, I noticed it has one thread with a ridiculously high priority (150). A primer on Windows CE thread priorities. There are 256. 0-255. 255 is lowest priority, 0 is highest (basically, kernel mode). Most CE priorities occupy the bottom 7. 255 is considered "idle." Basically it is blocked. The next six are the standard levels: low, below normal, normal, above normal, high. Above that are "realtime" levels. In DotFred's Task Manager the highest you can set is 248. So, as you can see, 150 is ridiculously high priority. Is this the HTCAM's "fix" that keeps it from skipping (much)?

What priority do people see here for "broken" HTCAM versions?

Keep in mind that HTCAM has eight threads and only one is set to 150 for me.

Sprint Stock ROM for HTC Touch Pro

EDIT: I bumped HTCAM down to 248. It still didn't skip for me. I then went in and bumped all of PP's ACTIVE threads up to 248. There are at least four threads that do a lot of work (I looked at "CPU Time" column to see which ones were active -- anything above 1 second of CPU time got bumped). A couple of those threads were actually at Below Normal priority. Anyway, the "every five minutes" skip is definitely gone. I'm also not disabling all power management which gave me some good results earlier.

How to adjust thread priority. Run DotFred's Task Manager. Click+hold on the target process and choose details. Go to the Threads tab. Look for threads that are active (play a song before doing this so you can see which ones have high CPU Time). Bump them to "Time Critical" priority. Test. Report! Also, I have PP set to "Extreme" Decoder priority in the PP settings.

EDIT 2: I got my first lag now with these settings after 35 minutes of music. Curiously, it happened again 5 minutes later. Now it's happening with some regularity, but not on a 5 minute schedule. What gives?? Why would I get nearly 40 minutes of awesome playback randomly?

TIP: Make sure your visualizations are disabled in PP. If you accidentally boost your vis thread, it will make your phone nearly unusuably slow. :-)

EDIT 3: Now it's back to every five minutes. Why does something seem to work for like... an hour. Then it just stops working and the problem is back with a vengence? On a side note, I cannot get the HTC Audio Manager to skip for me. This is a stock Sprint ROM here. I set all the priorities to Below Normal and it was solid for like 15 minutes until I got an email. The "email sound" caused it to lag. This didn't happen when it was at its normal priority.