I set output format to 'As-is (do not change)' and play 5.1 AC3, but have only stereo output.
When AC3Filter is connected to AC3 input (or other multichannel format), it may not know the actual audio format, because AC3 may contain any number of channels. Therefore it says that output is stereo. When AC3Filter receives first data, it determines the actual audio format (let's say, 5.1) and tries to change stereo to 5.1.
Some players (e.g. MS Media Player/Media Center) have own audio processing filtes (equalizer, bass amplifier, etc). Such filter gets the output of AC3Filter and processes it. And this filter may prohibit the change of the format already set. Some filters cannot change the format dynamically, some do not support multichannel, etc. Thus the change of output format to multichannel fails, and stereo output is produced.
There're 2 solutions:
- Do not use 'As-is' output format and set 5.1 explicitly. In this case AC3Filter knows the output format even at the connection stage and has no need to change it dynamically.
- Disable all audio processing at the player's settings. It may avoid the problem with audio processing filters, but other problem with dynamic format change may occur, so it does not guarantee the solution...
 Can I bundle AC3Filter with our application?
Yes, you can freely distribute AC3Filter with your application. But if AC3Filter is an essential part of your package it's good idea to make a donation. How much? Completely your decision. But I hope that one month of work for one porgrammer is a fair choice.
Also, you may read how to distribute AC3Filter.