Every single applet you use on a device is lobbying for processor time. USB sound needs to be serviced periodically. It shovels sound out to the device but in chunks, maybe only enough to play a fraction of a second at one time. Since sound requires service at some predetermined rate, we refer to it as a ‘real time’ application.
When the applet that serves up sound isn’t being ‘gotten to’ within less than that time, you’ll hear it. That’s called ‘latency’. Depending on how the other side deals with that latency, you’d most likely hear a pop. Remember, it ran out of data but can’t make up sounds so it stops playing and then, when it abruptly gets data again, it pops. It is like muting and unmuting the sound very quickly, for a fraction of a milli second.
It is inherent of the operating system design. Windows, Linux, etc all have similar issues except that they have many more resources than a portable device does so you don’t hear it as readily.
The way that’s often fixed by a manufacturer is by shoveling more data out to the device at one time so it is less likely to run out of data to play or make the operating system more efficient in dealing with ‘real time’ tasks.
Long story short:
For now, until they figure out a fix, just shut down the applications you’re not using.
Did you try that^ update in the link for the BMW? It could be that they made the buffer too short so it starves for data sometimes. It could also be on that end and/or just a matter of compatibility, its buffer being too short for the amount of data the iPod sends out.
That update can’t hurt. They clearly fixed something.
Yup, I do this stuff for a living.