Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

SMax4PNP process causes error with AEC

2 views
Skip to first unread message

serp

unread,
Aug 2, 2007, 2:58:56 AM8/2/07
to
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?
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.

Chris P.

unread,
Aug 2, 2007, 9:45:18 AM8/2/07
to
Moved to microsoft.public.win32.programmer.directx.audio.

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]

0 new messages