How do I get audio file format in audio filter driver?

Discussion in 'Windows Vista Music, Pictures and Video' started by Novice, Nov 7, 2008.

  1. Novice

    Novice Guest

    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.^^
     
    Novice, Nov 7, 2008
    #1
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.