HDMI audio output device (Windows)
#1
Hello all,

I'm a bit out of my depth here with a problem that I am sure many of you are facing. I use an output queue which consists of

XBMC via HDMI -> Windows 7 (WASAPI) -> Digital Receiver with video proc capabilities -> TV

As you are aware, the output device of a HDMI output chain is always the last device. So, when I watch TV, it's the TV obviously, but when I watch music I don't want to switch on the TV and burn more Watts. Under this premise, I get different audio output devices in XBMC depending on which part of it I want to use, meaning, the configured device is often invalidated. Of course, this is a problem that occurs with other Windows applications as well, like foobar2000.

Does anyone know of a way to get around this predicament? Would it be possible to configure 2 separate output settings for music and video, for example? Or solve it at the enumeration stage already?
Suggestions are very welcome!
Reply
#2
Odd - my HDMI audio device capabilities stay the same with the TV on or off. Perhaps post a log with both scenarios?
System: XBMC HTPC with HDMI WASAPI & AudioEngine - Denon  AVR-3808CI  - Denon DVD-5900 Universal Player  - Denon DCM-27 CD-Changer
- Sony BDP-S580 Blu-Ray  - X-Box 360  - Android tablet wireless remote - 7.1 Streem/Axiom/Velodyne Surround System
If I have been able to help feel free to add to my reputation +/- below - thanks!
Reply
#3
Here are some log excerpts - if you need more info, please yell Smile

Chain ends with AVR:
Code:
10:13:23 T:7288  NOTICE: -----------------------------------------------------------------------
10:13:23 T:7288  NOTICE: Starting XBMC (12.0 Git:20130127-fb595f2), Platform: Windows 7 SP1 64-bit, build 7601. Built on Jan 28 2013 (compiler 1600)
10:13:23 T:7288  NOTICE: Intel(R) Core(TM) i5-3550 CPU @ 3.30GHz
10:13:23 T:7288  NOTICE: Desktop Resolution: 1680x1050 32Bit at 60Hz
10:13:23 T:7288  NOTICE: Running with restricted rights
10:13:23 T:7288  NOTICE: Aero is enabled
10:13:23 T:7288  NOTICE: special://xbmc/ is mapped to: C:\Program Files (x86)\video\XBMC
10:13:23 T:7288  NOTICE: special://xbmcbin/ is mapped to: C:\Program Files (x86)\video\XBMC
10:13:23 T:7288  NOTICE: special://masterprofile/ is mapped to: C:\Users\JPS\AppData\Roaming\XBMC\userdata
10:13:23 T:7288  NOTICE: special://home/ is mapped to: C:\Users\JPS\AppData\Roaming\XBMC\
10:13:23 T:7288  NOTICE: special://temp/ is mapped to: C:\Users\JPS\AppData\Roaming\XBMC\cache
10:13:23 T:7288  NOTICE: The executable running is: C:\Program Files (x86)\video\XBMC\XBMC.exe
10:13:23 T:7288  NOTICE: Local hostname: lighthose
10:13:23 T:7288  NOTICE: Log File is located: C:\Users\JPS\AppData\Roaming\XBMC\xbmc.log
10:13:23 T:7288  NOTICE: -----------------------------------------------------------------------
10:13:24 T:7288  NOTICE: Enumerated DirectSound devices:
10:13:24 T:7288  NOTICE:     Device 1
10:13:24 T:7288  NOTICE:         m_deviceName      : {12B2FC42-BC3F-481C-8C99-50D77C3FDE2F}
10:13:24 T:7288  NOTICE:         m_displayName     : HDMI - RX-V3067 (Intel(R) Display Audio)
10:13:24 T:7288  NOTICE:         m_displayNameExtra: DirectSound: RX-V3067 (Intel(R) Display Audio)
10:13:24 T:7288  NOTICE:         m_deviceType      : AE_DEVTYPE_HDMI
10:13:24 T:7288  NOTICE:         m_channels        : FL,FR
10:13:24 T:7288  NOTICE:         m_sampleRates     : 48000
10:13:24 T:7288  NOTICE:         m_dataFormats     : AE_FMT_FLOAT,AE_FMT_AC3
10:13:24 T:7288  NOTICE:     Device 2
10:13:24 T:7288  NOTICE:         m_deviceName      : {89B03904-3840-4706-BC59-3054C9B86D2D}
10:13:24 T:7288  NOTICE:         m_displayName     : SPDIF - Realtek Digital Output (Realtek High Definition Audio)
10:13:24 T:7288  NOTICE:         m_displayNameExtra: DirectSound: Realtek Digital Output (Realtek High Definition Audio)
10:13:24 T:7288  NOTICE:         m_deviceType      : AE_DEVTYPE_IEC958
10:13:24 T:7288  NOTICE:         m_channels        : FL,FR
10:13:24 T:7288  NOTICE:         m_sampleRates     : 48000
10:13:24 T:7288  NOTICE:         m_dataFormats     : AE_FMT_FLOAT,AE_FMT_AC3
10:13:24 T:7288  NOTICE:     Device 3
10:13:24 T:7288  NOTICE:         m_deviceName      : {F2F138A5-4058-4746-A982-3C8DF4626CF4}
10:13:24 T:7288  NOTICE:         m_displayName     : Speakers - Speakers (Realtek High Definition Audio)
10:13:24 T:7288  NOTICE:         m_displayNameExtra: DirectSound: Speakers (Realtek High Definition Audio)
10:13:24 T:7288  NOTICE:         m_deviceType      : AE_DEVTYPE_PCM
10:13:24 T:7288  NOTICE:         m_channels        : FL,FR
10:13:24 T:7288  NOTICE:         m_sampleRates     : 48000
10:13:24 T:7288  NOTICE:         m_dataFormats     : AE_FMT_FLOAT,AE_FMT_AC3
10:13:24 T:7288  NOTICE: Enumerated WASAPI devices:
10:13:24 T:7288  NOTICE:     Device 1
10:13:24 T:7288  NOTICE:         m_deviceName      : {12B2FC42-BC3F-481C-8C99-50D77C3FDE2F}
10:13:24 T:7288  NOTICE:         m_displayName     : HDMI - RX-V3067 (Intel(R) Display Audio)
10:13:24 T:7288  NOTICE:         m_displayNameExtra: WASAPI: RX-V3067 (Intel(R) Display Audio)
10:13:24 T:7288  NOTICE:         m_deviceType      : AE_DEVTYPE_HDMI
10:13:24 T:7288  NOTICE:         m_channels        : FL,FR,FC,LFE,SL,SR,BL,BR
10:13:24 T:7288  NOTICE:         m_sampleRates     : 192000,176400,96000,88200,48000,44100,32000
10:13:24 T:7288  NOTICE:         m_dataFormats     : AE_FMT_DTSHD,AE_FMT_TRUEHD,AE_FMT_EAC3,AE_FMT_DTS,AE_FMT_AC3,AE_FMT_S24NE4,AE_FMT_S24LE4,AE_FMT_S24BE4,AE_FMT_S16NE,AE_FMT_S16LE,AE_FMT_S16BE,AE_FMT_LPCM
10:13:24 T:7288  NOTICE:     Device 2
10:13:24 T:7288  NOTICE:         m_deviceName      : {89B03904-3840-4706-BC59-3054C9B86D2D}
10:13:24 T:7288  NOTICE:         m_displayName     : SPDIF - Realtek Digital Output (Realtek High Definition Audio)
10:13:24 T:7288  NOTICE:         m_displayNameExtra: WASAPI: Realtek Digital Output (Realtek High Definition Audio)
10:13:24 T:7288  NOTICE:         m_deviceType      : AE_DEVTYPE_IEC958
10:13:24 T:7288  NOTICE:         m_channels        : FL,FR
10:13:24 T:7288  NOTICE:         m_sampleRates     : 192000,96000,48000,44100
10:13:24 T:7288  NOTICE:         m_dataFormats     : AE_FMT_DTS,AE_FMT_AC3,AE_FMT_AAC,AE_FMT_S24NE4,AE_FMT_S24LE4,AE_FMT_S24BE4,AE_FMT_S16NE,AE_FMT_S16LE,AE_FMT_S16BE
10:13:24 T:7288  NOTICE:     Device 3
10:13:24 T:7288  NOTICE:         m_deviceName      : {F2F138A5-4058-4746-A982-3C8DF4626CF4}
10:13:24 T:7288  NOTICE:         m_displayName     : Speakers - Speakers (Realtek High Definition Audio)
10:13:24 T:7288  NOTICE:         m_displayNameExtra: WASAPI: Speakers (Realtek High Definition Audio)
10:13:24 T:7288  NOTICE:         m_deviceType      : AE_DEVTYPE_PCM
10:13:24 T:7288  NOTICE:         m_channels        : FL,FR,FC,LFE,SL,SR,BL,BR
10:13:24 T:7288  NOTICE:         m_sampleRates     : 192000,96000,48000,44100
10:13:24 T:7288  NOTICE:         m_dataFormats     : AE_FMT_S24NE4,AE_FMT_S24LE4,AE_FMT_S24BE4,AE_FMT_S16NE,AE_FMT_S16LE,AE_FMT_S16BE,AE_FMT_LPCM

After I switch on the TV, XBMC looses the audio devices and reverts to realtek audio card. Then I switch the audio manually:

Code:
10:15:22 T:8736  NOTICE: Enumerated DirectSound devices:
10:15:22 T:8736  NOTICE:     Device 1
10:15:22 T:8736  NOTICE:         m_deviceName      : {89B03904-3840-4706-BC59-3054C9B86D2D}
10:15:22 T:8736  NOTICE:         m_displayName     : SPDIF - Realtek Digital Output (Realtek High Definition Audio)
10:15:22 T:8736  NOTICE:         m_displayNameExtra: DirectSound: Realtek Digital Output (Realtek High Definition Audio)
10:15:22 T:8736  NOTICE:         m_deviceType      : AE_DEVTYPE_IEC958
10:15:22 T:8736  NOTICE:         m_channels        : FL,FR
10:15:22 T:8736  NOTICE:         m_sampleRates     : 48000
10:15:22 T:8736  NOTICE:         m_dataFormats     : AE_FMT_FLOAT,AE_FMT_AC3
10:15:22 T:8736  NOTICE:     Device 2
10:15:22 T:8736  NOTICE:         m_deviceName      : {89D69364-25E2-435B-AFE5-4D1B0908DB94}
10:15:22 T:8736  NOTICE:         m_displayName     : HDMI - SAMSUNG (Intel(R) Display Audio)
10:15:22 T:8736  NOTICE:         m_displayNameExtra: DirectSound: SAMSUNG (Intel(R) Display Audio)
10:15:22 T:8736  NOTICE:         m_deviceType      : AE_DEVTYPE_HDMI
10:15:22 T:8736  NOTICE:         m_channels        : FL,FR
10:15:22 T:8736  NOTICE:         m_sampleRates     : 48000
10:15:22 T:8736  NOTICE:         m_dataFormats     : AE_FMT_FLOAT,AE_FMT_AC3
10:15:22 T:8736  NOTICE:     Device 3
10:15:22 T:8736  NOTICE:         m_deviceName      : {F2F138A5-4058-4746-A982-3C8DF4626CF4}
10:15:22 T:8736  NOTICE:         m_displayName     : Speakers - Speakers (Realtek High Definition Audio)
10:15:22 T:8736  NOTICE:         m_displayNameExtra: DirectSound: Speakers (Realtek High Definition Audio)
10:15:22 T:8736  NOTICE:         m_deviceType      : AE_DEVTYPE_PCM
10:15:22 T:8736  NOTICE:         m_channels        : FL,FR
10:15:22 T:8736  NOTICE:         m_sampleRates     : 48000
10:15:22 T:8736  NOTICE:         m_dataFormats     : AE_FMT_FLOAT,AE_FMT_AC3
10:15:22 T:8736  NOTICE: Enumerated WASAPI devices:
10:15:22 T:8736  NOTICE:     Device 1
10:15:22 T:8736  NOTICE:         m_deviceName      : {89B03904-3840-4706-BC59-3054C9B86D2D}
10:15:22 T:8736  NOTICE:         m_displayName     : SPDIF - Realtek Digital Output (Realtek High Definition Audio)
10:15:22 T:8736  NOTICE:         m_displayNameExtra: WASAPI: Realtek Digital Output (Realtek High Definition Audio)
10:15:22 T:8736  NOTICE:         m_deviceType      : AE_DEVTYPE_IEC958
10:15:22 T:8736  NOTICE:         m_channels        : FL,FR
10:15:22 T:8736  NOTICE:         m_sampleRates     : 192000,96000,48000,44100
10:15:22 T:8736  NOTICE:         m_dataFormats     : AE_FMT_DTS,AE_FMT_AC3,AE_FMT_AAC,AE_FMT_S24NE4,AE_FMT_S24LE4,AE_FMT_S24BE4,AE_FMT_S16NE,AE_FMT_S16LE,AE_FMT_S16BE
10:15:22 T:8736  NOTICE:     Device 2
10:15:22 T:8736  NOTICE:         m_deviceName      : {89D69364-25E2-435B-AFE5-4D1B0908DB94}
10:15:22 T:8736  NOTICE:         m_displayName     : HDMI - SAMSUNG (Intel(R) Display Audio)
10:15:22 T:8736  NOTICE:         m_displayNameExtra: WASAPI: SAMSUNG (Intel(R) Display Audio)
10:15:22 T:8736  NOTICE:         m_deviceType      : AE_DEVTYPE_HDMI
10:15:22 T:8736  NOTICE:         m_channels        : FL,FR,FC,LFE,SL,SR,BL,BR
10:15:22 T:8736  NOTICE:         m_sampleRates     : 192000,176400,96000,88200,48000,44100,32000
10:15:22 T:8736  NOTICE:         m_dataFormats     : AE_FMT_DTSHD,AE_FMT_TRUEHD,AE_FMT_EAC3,AE_FMT_DTS,AE_FMT_AC3,AE_FMT_S24NE4,AE_FMT_S24LE4,AE_FMT_S24BE4,AE_FMT_S16NE,AE_FMT_S16LE,AE_FMT_S16BE,AE_FMT_LPCM
10:15:22 T:8736  NOTICE:     Device 3
10:15:22 T:8736  NOTICE:         m_deviceName      : {F2F138A5-4058-4746-A982-3C8DF4626CF4}
10:15:22 T:8736  NOTICE:         m_displayName     : Speakers - Speakers (Realtek High Definition Audio)
10:15:22 T:8736  NOTICE:         m_displayNameExtra: WASAPI: Speakers (Realtek High Definition Audio)
10:15:22 T:8736  NOTICE:         m_deviceType      : AE_DEVTYPE_PCM
10:15:22 T:8736  NOTICE:         m_channels        : FL,FR,FC,LFE,SL,SR,BL,BR
10:15:22 T:8736  NOTICE:         m_sampleRates     : 192000,96000,48000,44100
10:15:22 T:8736  NOTICE:         m_dataFormats     : AE_FMT_S24NE4,AE_FMT_S24LE4,AE_FMT_S24BE4,AE_FMT_S16NE,AE_FMT_S16LE,AE_FMT_S16BE,AE_FMT_LPCM

Damn, the WASAPI device number moves...
Ok, from seeing this I have found a practical solution: I do need the Realtek Speakers device for my headphones from time to time, but not the traitorous-place-switching Realtek Digital Output. Disabling this, the WASAPI device I need is always #1. Maybe this could be solved programmatically by assigning a specific output device a specific position according to its name (HDMI, SPDIF, etc.)
Reply
#4
See if your amp has "passthrough (when off)" enabled - assuming that you always switch your amp on.

This way - the amp will always be the "end point"
Reply
#5
@DDDamian

Maybe something like this is possible for win aswell - it fixes hell alot for osx:

https://github.com/xbmc/xbmc/pull/2144
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
#6
If it helps any, I had this exact same problem when using an AMD graphics card. Turning the TV off cut the signal to my receiver for audio no matter what I did, including making custom EDID info. Setting my receiver to "passthrough" also failed, as did disabling all other audio devices. I recently upgraded my HTPC, which now uses an intel chip instead of AMD. All XBMC, TV, and receiver settings are unchanged compared to the old setup, and I no longer have the issue.

EDIT: I don't mean to imply you should run out and buy a new computer, I just meant if it helps the devs any to track down the issue. I don't have any useful logs though, unfortunately.
Reply
#7
Thanks everybody for your suggestions!

@ConfusedTA
Changing "Standby Through" on my Yahama RX-V3067 didn't change anything.

@Broken9754
I actually have both an AMD graphics card and INTEL graphcis 25000 on chip in my Core i5. I DO use the INTEL HDMI out, unfortunately with the above results. I wonder why you don't have this problem. Further investigation may be in order.

So, I still have this problem. After disabling some devices the output now switches from the WASAPI output device to the first DirectSound output device when the previous one is lost. Solutions still appreciated! Smile
Reply
#8
The issue is - on those traversions the audio device vanishes for a short moment and reappears after hdmi settles again. We need to get notified for those audio device changes and reopen audio once the device is back up. Though i'm no windows dev and have no clue which API to use or how to implement this.
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply

Logout Mark Read Team Forum Stats Members Help
HDMI audio output device (Windows)0