Yep, the program just stops responding, and keeps looping the last chunk of data in the buffer until I kill it.
I'm not doing too much in the callback, just searching the string data for artist/title comments, and updating the title text in my main program window at the end.
I did try the callback with the bare minimum of code as given above, and I still got the same problem. I then added some code to write to a logfile, and was able to see when the function was being called, but not exiting. It would get the artist and title tags, but the next call to strlen() would cause the program to freeze.
This only happens very occasionally, say once in every 100 function calls, and I've only ever noticed it while I was playing a game, so it only seems to happen under a heavy CPU load.
It's really got me stumped. If I had any straws to grasp, I'd grasp them

Jim