Windows Core Audio

Forumite Members General Topics Tech Windows Talk Windows Core Audio

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #29825
    Wheels-Of-FireWheels-Of-Fire
    Participant
      @grahamdearsley
      Forumite Points: 4

      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.

      #29836
      keith with the teefkeith with the teef
      Participant
        @thinktank
        Forumite Points: 0

        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. 🙂

        #29850
        Wheels-Of-FireWheels-Of-Fire
        Participant
          @grahamdearsley
          Forumite Points: 4

          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.

        Viewing 3 posts - 1 through 3 (of 3 total)
        • You must be logged in to reply to this topic.