Chom
Sat Nov 22 05:32:45 CST 2003
Hi Damon,
There are lots of components involved in audio
architecture like Wave API Manager, ACM, S/W Mixer, Wave
Mapper and DirectSound. After going through the whole PB
4.2 documentation about the audio, i could not properly
trace out the dependency and relationship among these
components.
1. What is wave mapper? I have noticed one thing, when an
application calls waveOutOpen with WAVE_MAPPER, it first
queries the driver with applications WAVEFORMATEX and then
opens the driver with s/w mixers output waveformat. When
the application calls the waveOutOpen with device id=0,
then waveform driver is opened with the s/w mixers output
waveformat unlike in the first case. My question is, in
the first case, there is one call overhead (waveOutOpen
with query flag set) and i don't see any use of this call,
why is it done this way?
2.If an application requests waveOutOpen with a MP3
waveformat and my driver supports 16-bit Stereo 44.1 KHz
then it cannot be directly played thorugh waveform driver.
In that case which component in waveform api manager asks
ACM to search for appropriate ACM driver?
3. I guess S/W mixer can do the PCM conversion, if so is
there any use of PCMCONV ACM driver?
4. Are there any proper definitions of these components
and relationship among these components?
It is of great help, if some one can explain these
components in detail
Regards,
Chom
>-----Original Message-----
>You are correct--waveapi.dll is loaded as WAM1, and ACM
and swmixer are part
>of the waveapi (although these are in audevman.dll I
believe, not
>waveapi.dll). Since waveapi.dll is registered as a
device driver, it gets
>loaded by the driver enumeration system at boot time.
The source code to
>waveapi is not available.
>
>--
>damonb@online.microsoft.com (Remove the 'online.' from
my address to
>reach me.)
>__________________________________________________________
___
>This posting is provided "AS IS" with no warranties, and
confers no rights.
>__________________________________________________________
___
>The Windows CE .NET documentation is online at:
>
http://msdn.microsoft.com/library/en-
us/wcelib40/html/pb_start.asp?frame=true
>
>
>"Chom" <anonymous@discussions.microsoft.com> wrote in
message
>news:0c6701c3aeb2$cd684400$a301280a@phx.gbl...
>> Hello,
>> Thanks for the reply. After studying more,
>> a. I came to know that wave api manager(waveapi.dll) is
a
>> built-in stream interface driver loaded by Device.exe as
>> WAM1: Is that right? If so, who opens the wave api
manager
>> (WAM1:), are the coredll thunks(for waveOutOpen,
>> waveOutWrite etc.) open it or something else?
>> b. I came to know that ACM, SW Mixer are part of Wave
API
>> Manager. Is that right?
>> c. In PB documentation, i have seen references to
ICM/VCM
>> (Image/Video Compression Manager) though there is not
much
>> information on VCM
>> d. I was asking for the source code to Wave API
manager,
>> is it available with PB, at least i could not find it?
>>
>> Regards,
>> Chom
>> >-----Original Message-----
>> >1. The WaveAPI runs in device.exe.
>> >2. I don't know of other documentation beyond PB. I
>> don't think there's any
>> >VCM component in CE anyway; certainly not one that
>> interoperates with the
>> >ACM in any way.
>> >3. No the source code is not available (if I correctly
>> understand which
>> >components you're referring to).
>> >4. An audio codec is a transform. That is, it is a
part
>> of the audio
>> >"pipeline" that converts data from one format to
>> another. The audio device,
>> >on the other hand, is the endpoint, or the sink that
>> finally takes the raw
>> >audio data and plays it through the audio hardware.
>> >
>> >--
>> >damonb@online.microsoft.com (Remove the 'online.'
from
>> my address to
>> >reach me.)
>>
>__________________________________________________________
>> ___
>> >This posting is provided "AS IS" with no warranties,
and
>> confers no rights.
>>
>__________________________________________________________
>> ___
>> >The Windows CE .NET documentation is online at:
>> >
http://msdn.microsoft.com/library/en-
>> us/wcelib40/html/pb_start.asp?frame=true
>> >
>> >
>> >"Chom" <anonymous@discussions.microsoft.com> wrote in
>> message
>> >news:093b01c3a7a0$f2fcb700$a501280a@phx.gbl...
>> >> Hello All,
>> >> I am new to Windows CE Multimedia. I have few doubts.
>> >> 1) In which process slot (Nk.exe, Device.exe or
etc.) do
>> >> Wave API Manager, ACM and Video/Image Compression
>> Manager
>> >> reside?
>> >> 2) Is there any good documentation for Wave API
Manager,
>> >> ACM and VCM apart from PB? i.e about the flow of data
>> >> among these modules.
>> >> 3) Is the source code available for these modules?
>> >> 4) What is the difference between a AudioCodec and
>> >> Waveform Audio I/O Device?
>> >>
>> >> Hope to get an answer,
>> >> Chom
>> >
>> >
>> >.
>> >
>
>
>.
>