I develop application that implements TV-like translation, which in fact is stream of short movies, downloaded from internet and then played consequently. I decode audio (with third-part Ogg decoder), then use CMdaAudioOutputStream instance for playing pcm samples. But - that consequent movies can have *different* audio frequencies, and in this case I need to change audio stream settings on flow. I have to call iStream->Stop() at first, in order to flush all buffered samples, so I stop it with iStream->SetAudioPropertiesL() and began to iStream->WriteL() frames with another frequency. However, MaoscPlayComplete() callback is called immediately with KErrNotReady error. The only way that I found, was to create CIdle (or CPeriodic) instance, and when I see that I have to change audio stream frequency, I call iIdle->Start() and call iStream->WriteL() in the iIdle callback. Curiosly, but it (usually) works But early or late audio server calls MaoscPlayComplete() even in that case
The only thing that I'd like to know, is how one should catch the moment when audio server is *ready* to accept audio frames? iStream->Stop(), as I saw, does not make it ready.
Thank you in advance for any help!