Making sure I understand, the idea is that queuing any event should invoke user callback? Doesn't that create another potential race when callback might receive this MEError event successfully before queue was shut down? I know that's unlikely but the point is that QueueEvent + Shutdown is not "atomic".
I'm not opposed to such notification interface in general, but we need to figure out this undocumented API first, if it exists at all.
What is the core issue with session not noticing shut down sources? Is that when user calls source's Shutdown() during playback?