I have a custom HTTP provider that is provides more detailed info (better connection counts and whether a publisher is connected or not) and I would like to add a status of whether the stream contains audio or not. Is getAudioSize() on IMediaStream the right method to use? Will it be 0 if there is no audio stream provided or should I be using some other property?
Upon further review, it seems that isReceiveAudio may not work as I originally thought. After some testing, I found success upon obtaining a reference to AMFPacket and checking for audio (packet.isAudio()). The IMediaStream.getAudioSize function will return 0 if there is no audio but you can only rely on that after data from the stream is actually hitting Wowza. You might check this after stream.getPlayPackets() is no longer empty (in a thread). Alternatively you might use the IMediaStreamActionNotify3 interface and if you receive onCodecInfoAudio event it will indicate audio is available.