Windows Core Audio

HOME Forums Tech Windows Talk Windows Core Audio

This topic contains 2 replies, has 2 voices, and was last updated by Wheels-Of-Fire 1 week ago.

  • Creator
    Topic
  • #29825

    Wheels-Of-Fire
    Participant
    @grahamdearsley

    Its been a bit quiet on this topic recently but I have been looking into how Windows Core Audio works at a low level so I thought I would share what I think I now know 😁

    Audio apps normally work with calls to a higher level API but one way or another they must open an audio stream session. The session requires information on the number of streams, their bit rate, the location of the audio apps output buffer, etc. The audio session manager will setup an audio end point buffer in system memory and inform the audio engine of its location. The audio engine can read data from many end point buffers and mix it together with Windows efects before outputting the result to an audio devices hardware buffer via its driver.

    An audio app can also request exclusive use of an audio device and if granted the session manager will send stream packet data directly to the audio device, bypassing the audio engine.

    Exclusive use only allows the playback of one stream at a time but it can contain multiple channels. Exclusive streams also get marked as pro audio so they recieve a priority boost too. No other sounds, including system sounds, can be played on a device that is in exclusive mode.

Spread the love
Viewing 2 replies - 1 through 2 (of 2 total)
  • Author
    Replies
  • #29836

    keith with the teef
    Participant
    @thinktank
    Forumite Points: 360

    Me likie.

    I use ASIO when I can. Straingly enough foobar, which is the probably best free sound player+, does not as appear to use low lever ASIO. HQ player if you can get it to work, that is, the half hour free version, daily. is quite something, but noway is it worth £140 for what I would want to use it for. 🙂

    0
    0
    #29850

    Wheels-Of-Fire
    Participant
    @grahamdearsley
    Forumite Points: 1,009

    Glad you liked it Keith, I had you in mind 😁

    I was slightly inaccurate when I said that exclusive mode bypasses the audio engine completely as it still uses the device pipe portion, its the stream pipe bit that gets left out as the diagram in the link below shows.

    https://docs.microsoft.com/en-us/windows-hardware/drivers/audio/exploring-the-windows-vista-audio-engine

    An APO is an Audio Processing object and it represents anything that might be plugged into the audio pipeline like a codec or effects module.

    1
    0
Viewing 2 replies - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.

Spread the love