I think it has to do with one of the following documented limitations
of AEC:
* Only one capture buffer at a time can use AEC.
* AEC cannot be created if another application is capturing.
So, first of all, i'd like to share this experience, which may save
someone hours of banging her head against a wall.
Second, i'd like to hear your opinion/experience:
1) how to tell WHAT EXACTLY prevents from creating buffer with AEC?
2) what should be the correct behavior in such a case? Running without
AEC + notifying the user?
3) what are other common applications that can prevent from creating
AEC?
Thanx,
Sergey Pashkevich.
On Wed, 01 Aug 2007 23:58:56 -0700, serp wrote:
> Hello,
> Sometimes I have had a problem using DirectSoundFullDuplexCreate8
> whith AEC (acoustic echo cancellation) capability on capture buffer.
> Sometimes it returned me 0x80070057 (The parameter is incorrect)
> error.
> Finally i spotted that SMax4Pnp.exe is responsible for this. When i
> killed this process, the creation of buffers with AEC and NS works
> fine.
>
> I think it has to do with one of the following documented limitations
> of AEC:
> * Only one capture buffer at a time can use AEC.
> * AEC cannot be created if another application is capturing.
>
> So, first of all, i'd like to share this experience, which may save
> someone hours of banging her head against a wall.
>
> Second, i'd like to hear your opinion/experience:
> 1) how to tell WHAT EXACTLY prevents from creating buffer with AEC?
Full Duplex requires exclusive mode, no other application can have a buffer
created.
> 2) what should be the correct behavior in such a case? Running without
> AEC + notifying the user?
That's probably the most practical option. Some devices provide their own
echo cancellation so the Microsoft implementation may not be required.
> 3) what are other common applications that can prevent from creating
> AEC?
Any application that has a DirectSound or waveIn/Out buffer open on the
device.
--
http://www.chrisnet.net/code.htm
[MS MVP for DirectShow / MediaFoundation]