Paul, that's interesting. If AAC files exhbit the same issue, then perhaps the problem isn't with the oggplay program itself. Maybe it's a more generic issue that affects multiple formats? Has anyone experienced this problem with other audio file types?
I did a bit of poking around by doing "strings" on the various player executables. It would appear that the audio interface is OSS. However, things don't look as straightforward as I'd imagined. There is a /tmp/phatsock mechanism that apparently is used for some sort of IPC between the player programs and phatd (which looks like some sort of overall control process). I guess that the player program passes some file tag info via this socket to phatd and this is somehow passed back to the HU for display purposes. I don't know the data format used in this IPC mechanism, or whether the actual audio data is also fed through this conduit (i.e., whether the player program writes the audio data to /dev/dsp directly, or if it's passed on to phatd and handled there). There also seems to be some sort of heartbeat-check in the phatd that would detect whether the player program had stopped unexpectedly. One thing is now clear, and that is the player programs are developed to be tightly integrated into a Phatbox-specific scheme and not at all generic. One cannot take, for example, a standard ogg player like ogg123, cross-compile it for ARM, rename it, sign it and expect it to work on the Phatbox. It would take a fair amount of reverse- and forward-engineering, and I don't think I have the time to take this on.
BTW, while looking at the "51d" executable I found this humorous string in it:
"Hey! Don't peek at my strings!"
[smiley=evil.gif]
At any rate, there are two ogg player programs: oggplay-la and oggplay-ha. Does anyone know what's the difference between the two? When would one be used rather than the other? Searching here and on the web in general didn't yield anything useful.