Answered by:
How do I get audio file format in audio filter driver?

Question
-
Before writing, I'm not skilled in English. So you may have difficulty understanding my questing. ^^
Currently, I'm making audio upper filter driver. And I meet a problem.
What I need Now is format of audio data that is sent to audio driver. So I monitor IRPs sent to audio driver by WinDDK tool KsStudio.
In my project, I limit audio data to loop streaming, type of PCM.
this is result of monitoring IRPs when starting audio file
0.00836990 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY OBJECT WAS NOT FOUND <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00620492 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00199498 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00088499 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY OBJECT WAS NOT FOUND <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00124998 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00072999 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00087499 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00140498 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY INVALID DEVICE REQUEST <KSPROPSETID_Audio, KSPROPERTY_AUDIO_VOLUMELEVEL, 0x10000200>
0.00068999 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00101999 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY INVALID DEVICE REQUEST <KSPROPSETID_Audio, KSPROPERTY_AUDIO_VOLUMELEVEL, 0x10000200>
0.00064999 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00160498 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.03943951 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CHANNEL_CONFIG, 0x10000002>
0.00389495 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Pin, KSPROPERTY_PIN_CINSTANCES, 0x00000001>
0.00084499 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Pin, KSPROPERTY_PIN_CINSTANCES, 0x00000001>
0.00241497 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CHANNEL_CONFIG, 0x10000002>
0.05519931 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_CREATE SUCCESS
0.00460994 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Connection, KSPROPERTY_CONNECTION_STATE, 0x00000002>
0.14662316 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Connection, KSPROPERTY_CONNECTION_STATE, 0x00000002>
0.03809952 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_MIX_LEVEL_CAPS, 0x10000001>
0.00210497 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY BUFFER TOO SMALL <KSPROPSETID_Audio, KSPROPERTY_AUDIO_VOLUMELEVEL, 0x10000200>
0.00915989 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_VOLUMELEVEL, 0x10000002>
0.00255997 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_VOLUMELEVEL, 0x10000002>
0.00297996 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_QUALITY, 0x10000002>
0.00431995 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Connection, KSPROPERTY_CONNECTION_STATE, 0x00000002>
0.00302496 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Connection, KSPROPERTY_CONNECTION_STATE, 0x00000002>
0.00025500 Realtek HD Audio output System:0x086A8 IRP_MJ_CLEANUP INVALID DEVICE REQUEST
0.20170248 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_CLOSE SUCCESS
0.00863489 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY OBJECT WAS NOT FOUND <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00590493 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00203497 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00097499 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY OBJECT WAS NOT FOUND <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00128998 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00075499 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00088999 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00159498 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY INVALID DEVICE REQUEST <KSPROPSETID_Audio, KSPROPERTY_AUDIO_VOLUMELEVEL, 0x10000200>
0.00080999 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00129998 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY INVALID DEVICE REQUEST <KSPROPSETID_Audio, KSPROPERTY_AUDIO_VOLUMELEVEL, 0x10000200>
0.00068999 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00153498 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CPU_RESOURCES, 0x10000001>
0.00982988 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CHANNEL_CONFIG, 0x10000002>
0.01038487 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Pin, KSPROPERTY_PIN_CINSTANCES, 0x00000001>
0.00103499 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Pin, KSPROPERTY_PIN_CINSTANCES, 0x00000001>
0.00584493 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_CHANNEL_CONFIG, 0x10000002>
0.05830927 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_CREATE SUCCESS
0.00559493 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Connection, KSPROPERTY_CONNECTION_STATE, 0x00000002>
0.00240497 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Connection, KSPROPERTY_CONNECTION_STATE, 0x00000002>
0.00540493 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_MIX_LEVEL_CAPS, 0x10000001>
0.00208497 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY BUFFER TOO SMALL <KSPROPSETID_Audio, KSPROPERTY_AUDIO_VOLUMELEVEL, 0x10000200>
0.00347996 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_VOLUMELEVEL, 0x10000002>
0.00242497 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_VOLUMELEVEL, 0x10000002>
0.00264497 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_QUALITY, 0x10000002>
0.00000000 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_WRITE_STREAM
0.00421495 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_POSITION, 0x00000002>
0.16814290 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Connection, KSPROPERTY_CONNECTION_STATE, 0x00000002>
0.19712253 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_POSITION, 0x00000001>
0.03210960 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_POSITION, 0x00000001>
0.11874852 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_POSITION, 0x00000001>
0.01353483 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_POSITION, 0x00000001>
0.03712454 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_POSITION, 0x00000001>
0.01375983 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_POSITION, 0x00000001>
0.03274959 Realtek HD Audio output IEXPLORE.EXE:0x086A8 IRP_MJ_DEVICE_CONTROL IOCTL_KS_PROPERTY SUCCESS <KSPROPSETID_Audio, KSPROPERTY_AUDIO_POSITION, 0x00000001>In above result of monitoring IRPs, I found that Neither KSPROPERTY_CONNECTION_DATAFORMAT IRP nor setting data format IRP is received.
And so how does audio driver know data format? or Is it possible that without format information, audio driver play audio data?I suspected IOCTL_KS_WRITE_STREAM IRP. but that IRP just send a KSSTREAM_HEADER struct and I can't find any format information in that struct except just PCM data.
How do I get audio file format in audio filter driver? If you know that, Please answer.^^
- Moved by jack 321 Thursday, October 30, 2008 8:49 AM not C++ specific issue (Moved from Visual C++ General to Off-Topic Posts (Do Not Post Here))
Tuesday, October 28, 2008 1:20 AM
Answers
-
Hello Kim,
Thank you for your post! Unfortunately there is not a current forum to post the question you are asking so I would recommend that you post your question to one of the microsoft.public.windows.vista.music_pictures_video newsgroups located here:
http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?dg=microsoft.public.windows.vista.music_pictures_video&mid=61edec91-efff-4b66-a771-4200a80f067dHope that helps!
Vijay Mullick Tier 2 Application Support Server and Tools Online Engineering Live Services Team- Proposed as answer by Vijay Mullick Thursday, November 6, 2008 9:13 AM
- Marked as answer by Vijay Mullick Friday, December 5, 2008 5:30 AM
Thursday, November 6, 2008 9:13 AM