Sound Keeper v1.3.4 [2024/09/15]

Prevents SPDIF/HDMI/Bluetooth digital audio playback devices from sleeping. Uses WASAPI, requires Windows 7+. It doesn't have GUI and starts to do its job right after the program is started. To make it autorun, copy the soundkeeper.exe into the startup directory that you can access by pressing Win+R and entering shell:startup. To close the program, run the soundkeeper.exe kill command or just kill its process.

Download: soundkeeper.7z (90KB). Source code →

The archive contains a few builds (you can remove unused ones):

  • SoundKeeper64.exe is for x86-64 versions of Windows, most people need this version.
  • SoundKeeper32.exe is for x86-32 versions of Windows, if you have a very old PC with 32-bit Windows.
  • SoundKeeperARM64.exe is a native ARM64 build, if you have a new ARM based PC.

There is also a debug version that outputs all debug logs into a console window. Please provide the logs when you report issues.

Features

  • Sound Keeper is fully automatic and doesn't require any user interaction.
  • Supports keeping on multiple sound outputs (e.g. an SPDIF and an HDMI).
  • Detects new sound outputs on the fly (e.g. when you connected a TV via HDMI).
  • Supports various stream types that should help in all possible cases.

Settings

Default behavior can be changed by changing file name of the Sound Keeper executable (just add desired settings to the Sound Keeper file name) or by passing them as command line arguments. All settings are case insensitive.

Primary audio output is used by default. If current primary audio output has changed, the Sound Keeper detects this and switches to the new output automatically. If you want to run Sound Keeper on all enabled audio outputs, just add All to executable file name to enable Sound Keeper on all outputs.

All supported audio output type modes:

  • Primary keeps on primary audio output only. It is used by default.
  • All keeps on all enabled audio outputs.
  • Digital keeps on all enabled SPDIF and HDMI audio outputs (like it was in Sound Keeper v1.0).
  • Analog keeps on all enabled audio outputs except SPDIF and HDMI.

Inaudible stream of zeroes with infrequent smallest possible non-zero samples (fluctuations) is used by default. Add Zero to executable file name to use stream of zeroes only.

All supported stream types:

  • OpenOnly opens audio output, but doesn't stream anything. Sometimes it helps if it's a driver only issue.
  • Zero plays stream of zeroes. It may be not enough for some hardware.
  • Fluctuate plays stream of zeroes with the smallest non-zero samples once in a second. Used by default.
  • Sine plays 1Hz sine wave at 1% volume. The frequency and amplitude can be changed. Useful for analog outputs.
  • White, Brown, or Pink play named noise, with the same parameters as the sine (except frequency).

If the default inaudible stream doesn't help, try the new Sine stream type. It generates a sine wave, and can be customized. There are two parameters: F (frequency) and A (amplitude). The value goes right after the parameter character. For example, add SineF10A5 to executable file name to generate 10Hz sine wave with 5% amplitude. Low frequencies (below 20Hz) and high frequencies (above 20000Hz) with low amplitude (up to 10%) are inaudible.

Stream parameters:

  • F is frequency. Default: 1Hz for Sine and 50Hz for Fluctuate. Applicable for: Fluctuate, Sine.
  • A is amplitude (i.e. volume). Default: 1%. If you want to use inaudible noise, set it to 0.1%. Applicable for: Sine, Noise.
  • L is length of sound (in seconds). Default: infinite.
  • W is waiting time between sounds if L is set. Use to enable periodic sound.
  • T is transition or fading time. Default: 0.1 second. Applicable for: Sine, Noise.

Examples:

  • SoundKeeperAll.exe generates default inaudible stream on all enabled audio outputs.
  • SoundKeeperZero.exe generates zero stream on primary audio output.
  • SoundKeeperAllZero.exe generates zero amplitude stream on all enabled audio outputs.
  • SoundKeeperSineF10A5.exe generates 10Hz sine wave with 5% amplitude on primary audio output. It is inaudible.
  • SoundKeeperSineF1000A100.exe generates 1000Hz sine wave with 100% amplitude. It is audible! Use it for testing.
  • SoundKeeper.exe sine -f 1000 -a 100 is command line version of the previous example.
  • SoundKeeper.exe brown -a 0.1 generates brown noise with 0.1% amplitude.

What's new in v1.3.4

  • Tune the Windows 8-10 WASAPI memory leak workaround to make it working for longer time.
  • Native ARM64 build (with statically linked runtime hence the bigger binary).
  • [2024/11/12] Added digital signature.

What's new in v1.3.3

  • Fixed arguments parsing bug: All or Analog after specifying stream type led to amplitude set to 0.

What's new in v1.3.2

  • Fluctuate treats 32-bit PCM output format as 24-bit since WASAPI reports 24-bit as 32-bit for some reason.
  • Fluctuate generates 50 fluctuations per second by default. It helps in many more cases.
  • Sound Keeper doesn't exit when it is muted.

What's new in v1.3.1

  • A potential deadlock when audio devices are being added or removed has been fixed.
  • Fluctuate treats non-PCM output formats (like Dolby Atmos) as 24-bit instead of 16-bit.
  • Frequency parameter F is limited by half of current sample rate to avoid generation of unexpected noise.
  • More detailed logs in debug build. Debug output is flushed immediately, so it can be redirected to a file.

What's new in v1.3.0

  • Fluctuate is 1 fluctuation per second by default. Frequency can be changed using the F parameter.
  • Periodic playing of a sound (parameters L and W) with optional fading (parameter T).
  • New White, Brown, and Pink noise signal types.
  • Self kill command is added. Run soundkeeper kill to stop running Sound Keeper instance.
  • Analog switch was added. It works as the opposite of Digital.
  • Ignores remote desktop audio device (this feature can be disabled using the Remote switch).
  • New OpenOnly mode that just opens audio output, but doesn't stream anything.
  • New NoSleep switch which disables PC sleep detection (Windows 7-10).
  • Work as a dummy when no suitable devices found.
  • Sound Keeper shouldn't prevent PC from automatic going into sleep mode on Windows 10.
  • The program is not confused anymore when PC auto sleep is disabled on Windows 10.
  • The workaround that allowed PC to auto sleep had to be disabled on Windows 11.

Sound Keeper vs. SPDIF Keep Alive vs. SPDIF-KA

Sound Keeper v1.3 SPDIF Keep Alive v1.2 SPDIF-KA v1.4
Fully automatic: Yes No No
Multiple outputs: Yes No No
Stream types: 7 2 2
Periodicity: Yes No No
GUI: No Yes Yes
Requires .NET: No Yes Yes
Executable size: 20KB 668KB 163KB
CPU usage (on Intel Core i5 4460): 0.004% 0.06% 0.06%
RAM usage (Private Working Set): 1636KB 13704KB 10600KB

Known issue: streaming audio prevents automatic sleep mode

When a program streams any audio (even silence), the system doesn't go into sleep mode automatically after specified time of inactivity. Sound Keeper uses the NtPowerInformation(SystemPowerInformation, ...) function to retrieve time when system is going to sleep, and disables itself right before this time. On Windows 7, it works perfectly. Windows 10 waits for 2 minutes more after any sound was streamed, so the PC goes into sleep mode after 2 minutes when Sound Keeper disabled itself. For some reason, Windows 11 always reports that the system is going to sleep in 0 seconds. So, the workaround had to be disabled on this OS until a better solution is found. You can try to use the powercfg to workaround this issue at the system level. Details →

  1. #251
    Sameh

    this is another log , i activated the screen auto turn off after 1 min
    -------------

    07:53:35.175 [29348] Windows Build Number: 22621.
    07:53:35.175 [29348] Main thread started.
    07:53:35.176 [29348] Exe File Name: SoundKeeper64d.exe.
    07:53:35.176 [29348] Remaining time to sleeping: 0 seconds.
    07:53:35.176 [29348] WARNING: Buggy power information.
    07:53:35.176 [29348] Device Type: Primary.
    07:53:35.176 [29348] Stream Type: Fluctuate (Frequency: 1.000Hz).
    07:53:35.176 [29348] Periodicity: Disabled.
    07:53:35.176 [29348] Sleep Detection: Disabled.
    07:53:35.179 [29348] Main loop started.
    07:53:35.179 [29348] Starting...
    07:53:35.179 [29348] Getting primary audio device...
    07:53:35.180 [29348] Device ID: '{0.0.0.00000000}.{79b8354d-8d2a-4679-a4f2-4b4cc8f65b42}'. Form Factor: 9.
    07:53:35.180 [30480] Rendering thread started. Device ID: '{0.0.0.00000000}.{79b8354d-8d2a-4679-a4f2-4b4cc8f65b42}'.
    07:53:35.180 [30480] Render. Device State: 1.
    07:53:35.181 [30480] Getting output format...
    07:53:35.181 [30480] ERROR: Unrecognized sample format: 0xFFFE.
    07:53:35.181 [30480] Getting mixing format...
    07:53:35.182 [30480] Format: PCM 8ch 48000Hz 32-bit float.
    07:53:35.203 [30480] Starting rendering...
    07:53:35.205 [30480] Rendering loop started.
    07:56:07.309 [15584] Device '{0.0.0.00000000}.{86f64f43-c777-4267-859e-b818dd7730f7}' new state: 8.
    07:56:07.380 [31068] Device '{0.0.0.00000000}.{affc16aa-4cd1-4a9c-8c54-11243c82e814}' new state: 8.
    07:56:07.444 [31068] Device '{0.0.0.00000000}.{79b8354d-8d2a-4679-a4f2-4b4cc8f65b42}' new state: 8.
    07:56:07.444 [31068] Fire Restart!
    07:56:07.444 [31068] Device '{0.0.0.00000000}.{647c0510-2553-45e1-b56c-e6f9772c9c97}' is default for flow 0 and role 1.
    07:56:07.445 [31068] Device '{0.0.0.00000000}.{647c0510-2553-45e1-b56c-e6f9772c9c97}' is default for flow 0 and role 2.
    07:56:07.449 [15584] Session is disconnected with reason 0. Restart.
    07:56:07.449 [15584] Fire Restart!
    07:56:07.450 [30480] Stopping rendering...
    07:56:07.450 [30480] Rendering thread finished. Return code: 1.
    07:56:08.480 [29348] Restarting...
    07:56:08.480 [29348] Getting primary audio device...
    07:56:08.482 [29348] Device ID: '{0.0.0.00000000}.{647c0510-2553-45e1-b56c-e6f9772c9c97}'. Form Factor: 1.
    07:56:08.482 [ 6136] Rendering thread started. Device ID: '{0.0.0.00000000}.{647c0510-2553-45e1-b56c-e6f9772c9c97}'.
    07:56:08.482 [ 6136] Render. Device State: 1.
    07:56:08.483 [ 6136] Getting output format...
    07:56:08.483 [ 6136] Format: PCM 2ch 48000Hz 24-bit integer.
    07:56:08.483 [ 6136] Getting mixing format...
    07:56:08.483 [ 6136] Format: PCM 2ch 48000Hz 32-bit float.
    07:56:08.741 [ 6136] Starting rendering...
    07:56:08.743 [ 6136] Rendering loop started.
    08:05:26.411 [12268] Device '{0.0.0.00000000}.{affc16aa-4cd1-4a9c-8c54-11243c82e814}' new state: 4.
    08:05:26.590 [31564] Device '{0.0.0.00000000}.{86f64f43-c777-4267-859e-b818dd7730f7}' new state: 1.
    08:05:26.590 [31564] Fire Restart!
    08:05:26.592 [31564] Device '{0.0.0.00000000}.{86f64f43-c777-4267-859e-b818dd7730f7}' is default for flow 0 and role 2.
    08:05:26.672 [12268] Device '{0.0.0.00000000}.{79b8354d-8d2a-4679-a4f2-4b4cc8f65b42}' new state: 1.
    08:05:26.672 [12268] Fire Restart!
    08:05:26.673 [12268] Device '{0.0.0.00000000}.{79b8354d-8d2a-4679-a4f2-4b4cc8f65b42}' is default for flow 0 and role 0.
    08:05:26.673 [12268] Fire Restart!
    08:05:26.673 [12268] Device '{0.0.0.00000000}.{79b8354d-8d2a-4679-a4f2-4b4cc8f65b42}' is default for flow 0 and role 1.
    08:05:26.674 [12268] Device '{0.0.0.00000000}.{79b8354d-8d2a-4679-a4f2-4b4cc8f65b42}' is default for flow 0 and role 2.
    08:05:26.737 [12268] Device '{0.0.0.00000000}.{affc16aa-4cd1-4a9c-8c54-11243c82e814}' new state: 8.
    08:05:26.788 [12268] Device '{0.0.0.00000000}.{79b8354d-8d2a-4679-a4f2-4b4cc8f65b42}' new state: 4.
    08:05:26.789 [12268] Device '{0.0.0.00000000}.{647c0510-2553-45e1-b56c-e6f9772c9c97}' is default for flow 0 and role 0.
    08:05:26.789 [12268] Fire Restart!
    08:05:26.789 [12268] Device '{0.0.0.00000000}.{647c0510-2553-45e1-b56c-e6f9772c9c97}' is default for flow 0 and role 1.
    08:05:26.789 [12268] Device '{0.0.0.00000000}.{86f64f43-c777-4267-859e-b818dd7730f7}' is default for flow 0 and role 2.
    08:05:26.893 [16732] Device '{0.0.0.00000000}.{79b8354d-8d2a-4679-a4f2-4b4cc8f65b42}' new state: 1.
    08:05:26.893 [16732] Fire Restart!
    08:05:26.894 [16732] Device '{0.0.0.00000000}.{79b8354d-8d2a-4679-a4f2-4b4cc8f65b42}' is default for flow 0 and role 0.
    08:05:26.894 [16732] Fire Restart!
    08:05:26.894 [16732] Device '{0.0.0.00000000}.{79b8354d-8d2a-4679-a4f2-4b4cc8f65b42}' is default for flow 0 and role 1.
    08:05:26.894 [16732] Device '{0.0.0.00000000}.{79b8354d-8d2a-4679-a4f2-4b4cc8f65b42}' is default for flow 0 and role 2.
    08:05:26.969 [16732] Device '{0.0.0.00000000}.{86f64f43-c777-4267-859e-b818dd7730f7}' new state: 4.
    08:05:27.053 [12268] Device '{0.0.0.00000000}.{86f64f43-c777-4267-859e-b818dd7730f7}' new state: 8.
    08:05:27.078 [12268] Device '{0.0.1.00000000}.{34f31379-eeac-4f0e-822e-f518bed339d5}' new state: 4.
    08:05:27.092 [12268] Device '{0.0.1.00000000}.{34f31379-eeac-4f0e-822e-f518bed339d5}' new state: 4.
    08:05:27.092 [12268] Device '{0.0.1.00000000}.{34f31379-eeac-4f0e-822e-f518bed339d5}' was added.
    08:05:27.110 [16732] Device '{0.0.1.00000000}.{34f31379-eeac-4f0e-822e-f518bed339d5}' new state: 4.
    08:05:28.188 [29348] Restarting...
    08:05:28.188 [ 6136] Stopping rendering...
    08:05:28.235 [ 6136] Rendering thread finished. Return code: 0.
    08:05:28.235 [29348] Getting primary audio device...
    08:05:28.235 [29348] Device ID: '{0.0.0.00000000}.{79b8354d-8d2a-4679-a4f2-4b4cc8f65b42}'. Form Factor: 9.
    08:05:28.236 [ 5736] Rendering thread started. Device ID: '{0.0.0.00000000}.{79b8354d-8d2a-4679-a4f2-4b4cc8f65b42}'.
    08:05:28.236 [ 5736] Render. Device State: 1.
    08:05:28.236 [ 5736] Getting output format...
    08:05:28.236 [ 5736] ERROR: Unrecognized sample format: 0xFFFE.
    08:05:28.236 [ 5736] Getting mixing format...
    08:05:28.236 [ 5736] Format: PCM 8ch 48000Hz 32-bit float.
    08:05:28.255 [ 5736] Starting rendering...
    08:05:28.257 [ 5736] Rendering loop started.
    08:05:28.804 [12268] Device '{0.0.0.00000000}.{affc16aa-4cd1-4a9c-8c54-11243c82e814}' new state: 4.
    08:05:28.907 [12268] Device '{0.0.0.00000000}.{affc16aa-4cd1-4a9c-8c54-11243c82e814}' new state: 1.
    08:05:28.907 [12268] Fire Restart!
    08:05:29.419 [29348] Restarting...
    08:05:29.419 [ 5736] Stopping rendering...
  2. #252
    VEG Author

    Sameh,

    i got this error msg after some time of playing

    DMT - Unhandled Non-UI Thread Exception
    Object reference not set to an instance if an object

    It is not related to the Sound Keeper. Seems like DMT is Dual Monitor Tools.

  3. #253
    Sameh

    sorry VEG
    its related tp Dual monitors yea , delete that msg

    -----

    now the issue that i facing is that the soundkeeper shuts off the audio stream when the dsiplay monitor turned off
    i setup the auto shutoff of the display after 1 min
    after i move the mouse , the display back on and the sound back to the sound bar

    using sound bar samsung Q700A
    windows 11

    connecting sound bar directly to the pc graphic card hdmi out

    --
    the log

    20:29:16.709 [ 8104] Windows Build Number: 22621.
    20:29:16.709 [ 8104] Main thread started.
    20:29:16.710 [ 8104] Exe File Name: SoundKeeper64dPrimarySineF1000A10.exe.
    20:29:16.710 [ 8104] Remaining time to sleeping: 0 seconds.
    20:29:16.710 [ 8104] WARNING: Buggy power information.
    20:29:16.710 [ 8104] Device Type: Primary.
    20:29:16.710 [ 8104] Stream Type: Sine (Frequency: 1000.000Hz; Amplitude: 10.000%; Fading: 0.100s).
    20:29:16.710 [ 8104] Periodicity: Disabled.
    20:29:16.710 [ 8104] Sleep Detection: Disabled.
    20:29:16.713 [ 8104] Main loop started.
    20:29:16.713 [ 8104] Starting...
    20:29:16.713 [ 8104] Getting primary audio device...
    20:29:16.714 [ 8104] Device ID: '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}'. Form Factor: 9.
    20:29:16.714 [ 6192] Rendering thread started. Device ID: '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}'.
    20:29:16.714 [ 6192] Render. Device State: 1.
    20:29:16.715 [ 6192] Getting output format...
    20:29:16.715 [ 6192] Format: PCM 8ch 48000Hz 16-bit integer.
    20:29:16.716 [ 6192] Getting mixing format...
    20:29:16.716 [ 6192] Format: PCM 8ch 48000Hz 32-bit float.
    20:29:16.730 [ 6192] Starting rendering...
    20:29:16.732 [ 6192] Rendering loop started.
    20:30:15.486 [31532] Device '{0.0.0.00000000}.{ec63e300-7ae1-4d9c-8e50-5bf536e2deeb}' new state: 8.
    20:30:15.486 [31532] Device '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}' is default for flow 0 and role 2.
    20:30:15.563 [ 2700] Device '{0.0.0.00000000}.{d51cdf38-e786-4913-b6fc-e6449174230d}' new state: 8.
    20:30:15.614 [ 2700] Device '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}' new state: 8.
    20:30:15.616 [ 2700] Fire Restart!
    20:30:15.617 [ 2700] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 0.
    20:30:15.618 [ 2700] Fire Restart!
    20:30:15.618 [ 2700] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 1.
    20:30:15.619 [ 2700] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 2.
    20:30:15.622 [31532] Session is disconnected with reason 0. Restart.
    20:30:15.622 [31532] Fire Restart!
    20:30:15.623 [ 6192] Stopping rendering...
    20:30:15.623 [ 6192] Rendering thread finished. Return code: 1.
    20:30:17.140 [ 8104] Restarting...
    20:30:17.140 [ 8104] Getting primary audio device...
    20:30:17.141 [ 8104] Device ID: '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}'. Form Factor: 1.
    20:30:17.141 [ 5304] Rendering thread started. Device ID: '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}'.
    20:30:17.141 [ 5304] Render. Device State: 1.
    20:30:17.142 [ 5304] Getting output format...
    20:30:17.142 [ 5304] Format: PCM 2ch 48000Hz 16-bit integer.
    20:30:17.142 [ 5304] Getting mixing format...
    20:30:17.142 [ 5304] Format: PCM 2ch 48000Hz 32-bit float.
    20:30:17.146 [ 5304] Starting rendering...
    20:30:17.147 [ 5304] Rendering loop started.
    20:30:32.271 [31532] Device '{0.0.0.00000000}.{d51cdf38-e786-4913-b6fc-e6449174230d}' new state: 4.
    20:30:32.435 [ 2700] Device '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}' new state: 1.
    20:30:32.437 [ 2700] Fire Restart!
    20:30:32.437 [ 2700] Device '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}' is default for flow 0 and role 0.
    20:30:32.438 [ 2700] Fire Restart!
    20:30:32.438 [ 2700] Device '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}' is default for flow 0 and role 1.
    20:30:32.438 [ 2700] Device '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}' is default for flow 0 and role 2.
    20:30:32.550 [ 2700] Device '{0.0.0.00000000}.{d51cdf38-e786-4913-b6fc-e6449174230d}' new state: 1.
    20:30:32.550 [ 2700] Fire Restart!
    20:30:32.632 [ 2700] Device '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}' new state: 4.
    20:30:32.633 [ 2700] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 0.
    20:30:32.634 [ 2700] Fire Restart!
    20:30:32.634 [ 2700] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 1.
    20:30:32.634 [ 2700] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 2.
    20:30:32.722 [ 2700] Device '{0.0.0.00000000}.{ec63e300-7ae1-4d9c-8e50-5bf536e2deeb}' new state: 1.
    20:30:32.723 [ 2700] Fire Restart!
    20:30:32.724 [ 2700] Device '{0.0.0.00000000}.{ec63e300-7ae1-4d9c-8e50-5bf536e2deeb}' is default for flow 0 and role 2.
    20:30:32.838 [ 2700] Device '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}' new state: 1.
    20:30:32.839 [ 2700] Fire Restart!
    20:30:32.839 [ 2700] Device '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}' is default for flow 0 and role 0.
    20:30:32.839 [ 2700] Fire Restart!
    20:30:32.839 [ 2700] Device '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}' is default for flow 0 and role 1.
    20:30:32.941 [ 2700] Device '{0.0.0.00000000}.{ec63e300-7ae1-4d9c-8e50-5bf536e2deeb}' new state: 4.
    20:30:32.941 [ 2700] Device '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}' is default for flow 0 and role 2.
    20:30:33.031 [ 2700] Device '{0.0.0.00000000}.{ec63e300-7ae1-4d9c-8e50-5bf536e2deeb}' new state: 1.
    20:30:33.032 [ 2700] Fire Restart!
    20:30:33.033 [ 2700] Device '{0.0.0.00000000}.{ec63e300-7ae1-4d9c-8e50-5bf536e2deeb}' is default for flow 0 and role 2.
    20:30:34.491 [ 8104] Restarting...
    20:30:34.491 [ 5304] Stopping rendering...
    20:30:34.491 [ 5304] Rendering thread finished. Return code: 0.
    20:30:34.491 [ 8104] Getting primary audio device...
    20:30:34.492 [ 8104] Device ID: '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}'. Form Factor: 9.
    20:30:34.492 [21384] Rendering thread started. Device ID: '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}'.
    20:30:34.492 [21384] Render. Device State: 1.
    20:30:34.493 [21384] Getting output format...
    20:30:34.493 [21384] Format: PCM 8ch 48000Hz 16-bit integer.
    20:30:34.493 [21384] Getting mixing format...
    20:30:34.493 [21384] Format: PCM 8ch 48000Hz 32-bit float.
    20:30:34.500 [21384] Starting rendering...
    20:30:34.502 [21384] Rendering loop started.
  4. #254
    VEG Author

    I noticed something interesting in the previous log:

    08:05:28.236 [ 5736] ERROR: Unrecognized sample format: 0xFFFE.

    I updated the debug version to output more details about this (it should print a GUID of the sample format instead of 0xFFFE). Could you please try to reproduce this again with the newer version and show what it outputs? It seems like one of your audio outputs uses some non-standard audio format.

  5. #255
    Sameh
    08:05:28.236 [ 5736] ERROR: Unrecognized sample format: 0xFFFE.
    

    this error doesn't happen when i choose non dolby atmos quality format

    it happens only on this settings : https://i.imgur.com/IKkIEgW.png

    --
    do u aware of the sound stop when the display auto sleep activated ? , is this something can be bypassed with the app , or should i search for a method to stop the windows from shutting off the hdmi port
    the sound stop on the hdmi port only , its still played on my analog 3.5 speaker
    ----

    the log:

    03:15:21.581 [30116] Windows Build Number: 22621.
    03:15:21.581 [30116] Main thread started.
    03:15:21.582 [30116] Exe File Name: SoundKeeper64d.exe.
    03:15:21.582 [30116] Remaining time to sleeping: 0 seconds.
    03:15:21.582 [30116] WARNING: Buggy power information.
    03:15:21.582 [30116] Device Type: Primary.
    03:15:21.582 [30116] Stream Type: Fluctuate (Frequency: 1.000Hz).
    03:15:21.582 [30116] Periodicity: Disabled.
    03:15:21.582 [30116] Sleep Detection: Disabled.
    03:15:21.585 [30116] Main loop started.
    03:15:21.585 [30116] Starting...
    03:15:21.585 [30116] Getting primary audio device...
    03:15:21.586 [30116] Device ID: '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}'. Form Factor: 9.
    03:15:21.586 [31996] Rendering thread started. Device ID: '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}'.
    03:15:21.586 [31996] Render. Device State: 1.
    03:15:21.587 [31996] Getting output format...
    03:15:21.587 [31996] ERROR: Unrecognized sample format: 0000000c-0cea-0010-8000-00aa00389b71.
    03:15:21.587 [31996] Getting mixing format...
    03:15:21.588 [31996] Format: PCM 8ch 48000Hz 32-bit float.
    03:15:21.613 [31996] Starting rendering...
    03:15:21.615 [31996] Rendering loop started.
  6. #256
    VEG Author

    Sameh,

    this error doesn't happen when i choose non dolby atmos quality format

    Oh, thank you. I checked if this case is handled properly. Seems like it treats it as 16-bit output in this case, and it should be treated as 24-bit. I'll add support of this output format in the next version.

    do u aware of the sound stop when the display auto sleep activated ? , is this something can be bypassed with the app , or should i search for a method to stop the windows from shutting off the hdmi port
    the sound stop on the hdmi port only , its still played on my analog 3.5 speaker

    As far as I know, HDMI is designed in a way that it always turns off both audio and video simultaneously. So, Sound Keeper won't help to overcome it anyhow. If your PC has optical output (S/PDIF) and soundbar has optical input, I would recommend use it instead of passing audio through HDMI. S/PDIF is also digital (same as HDMI audio).

  7. #257
    VEG Author

    Sameh, I updated the debug version, now it should try to get bit-depth of output format even when it is not a PCM format. Could you please check if it logs correct bit-depth in your case when Dolby Atmos is enabled? It should still complain about unrecognized format (because it is not usual PCM), but at the end of the line it should show that it is 24-bit audio anyway.

  8. #258
    Sameh
    09:50:38.380 [19184] Windows Build Number: 22621.
    09:50:38.380 [19184] Main thread started.
    09:50:38.380 [19184] Exe File Name: SoundKeeper64d.exe.
    09:50:38.380 [19184] Remaining time to sleeping: 0 seconds.
    09:50:38.380 [19184] WARNING: Buggy power information.
    09:50:38.381 [19184] Device Type: Primary.
    09:50:38.381 [19184] Stream Type: Fluctuate (Frequency: 1.000Hz).
    09:50:38.381 [19184] Periodicity: Disabled.
    09:50:38.381 [19184] Sleep Detection: Disabled.
    09:50:38.384 [19184] Main loop started.
    09:50:38.384 [19184] Starting...
    09:50:38.384 [19184] Getting primary audio device...
    09:50:38.385 [19184] Device ID: '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}'. Form Factor: 9.
    09:50:38.386 [ 3732] Rendering thread started. Device ID: '{0.0.0.00000000}.{98277a30-db2f-4d93-ae00-8d38de919f57}'.
    09:50:38.386 [ 3732] Render. Device State: 1.
    09:50:38.387 [ 3732] Getting output format...
    09:50:38.387 [ 3732] WARNING: Unrecognized sample format: {0000000c-0cea-0010-8000-00aa00389b71} 8ch 192000Hz 16-bit.
    09:50:38.387 [ 3732] Getting mixing format...
    09:50:38.388 [ 3732] Format: PCM 8ch 48000Hz 32-bit float.
    09:50:38.414 [ 3732] Starting rendering...
    09:50:38.416 [ 3732] Rendering loop started.
  9. #259
    VEG Author

    Well, it's weird. According to the Microsoft Docs, the 0000000c-0cea-0010-8000-00aa00389b71 GUID is IEC61937_DOLBY_MLP that should be 24-bit. But for some reason it is reported as 16-bit by the system. I'll need to think if it's better to hardcode all known compressed formats with their expected bit-depths instead of relying on values provided by OS.

    Or maybe it is always reported as 16-bit for compressed formats. I'll probably treat all of them as 24-bit by default just in case.

  10. #260
    Sameh

    veg , another problem , my sound bar went to sleep when my screens gone to sleep
    when i back to the pc and on my sound bar , the soundkeeper didnt catch this status change and kept not sending any audio to the bar

    plus there is error , i dont know what is it : 10:19:03.307 [28280] WARNING: Buggy power information.

    10:19:03.306 [28280] Windows Build Number: 22621.
    10:19:03.306 [28280] Main thread started.
    10:19:03.307 [28280] Exe File Name: SoundKeeper64d.exe.
    10:19:03.307 [28280] Remaining time to sleeping: 0 seconds.
    10:19:03.307 [28280] WARNING: Buggy power information.
    10:19:03.307 [28280] Device Type: Primary.
    10:19:03.307 [28280] Stream Type: Fluctuate (Frequency: 1.000Hz).
    10:19:03.307 [28280] Periodicity: Disabled.
    10:19:03.307 [28280] Sleep Detection: Disabled.
    10:19:03.310 [28280] Main loop started.
    10:19:03.310 [28280] Starting...
    10:19:03.310 [28280] Getting primary audio device...
    10:19:03.311 [28280] Device ID: '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}'. Form Factor: 9.
    10:19:03.311 [ 2072] Rendering thread started. Device ID: '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}'.
    10:19:03.311 [ 2072] Render. Device State: 1.
    10:19:03.312 [ 2072] Getting output format...
    10:19:03.313 [ 2072] Format: PCM 2ch 48000Hz 16-bit integer.
    10:19:03.313 [ 2072] Getting mixing format...
    10:19:03.313 [ 2072] Format: PCM 2ch 48000Hz 32-bit float.
    10:19:03.316 [ 2072] Starting rendering...
    10:19:03.317 [ 2072] Rendering loop started.
    11:08:34.590 [32900] Device '{0.0.0.00000000}.{5b97c613-c4d1-43ed-9f04-ecfef951cab0}' new state: 8.
    11:08:34.661 [32900] Device '{0.0.0.00000000}.{0acc5ded-85e6-44a1-89d8-54c56a8d3a35}' new state: 8.
    11:08:34.728 [32900] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' new state: 8.
    11:08:34.729 [32900] Fire Restart!
    11:08:34.729 [32900] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 0.
    11:08:34.729 [32900] Fire Restart!
    11:08:34.729 [32900] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 1.
    11:08:34.730 [32900] Device '{0.0.0.00000000}.{f438f713-b836-42fd-80a7-9e69cfb0694b}' is default for flow 0 and role 2.
    11:08:34.735 [25228] Session is disconnected with reason 0. Restart.
    11:08:34.735 [25228] Fire Restart!
    11:08:34.735 [ 2072] Stopping rendering...
    11:08:34.735 [ 2072] Rendering thread finished. Return code: 1.
    11:08:36.234 [28280] Restarting...
    11:08:36.234 [28280] Getting primary audio device...
    11:08:36.235 [28280] Device ID: '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}'. Form Factor: 1.
    11:08:36.235 [34764] Rendering thread started. Device ID: '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}'.
    11:08:36.235 [34764] Render. Device State: 1.
    11:08:36.236 [34764] Getting output format...
    11:08:36.236 [34764] Format: PCM 2ch 48000Hz 16-bit integer.
    11:08:36.236 [34764] Getting mixing format...
    11:08:36.236 [34764] Format: PCM 2ch 48000Hz 32-bit float.
    11:08:36.240 [34764] Starting rendering...
    11:08:36.242 [34764] Rendering loop started.
    11:15:28.265 [14236] Device '{0.0.0.00000000}.{0acc5ded-85e6-44a1-89d8-54c56a8d3a35}' new state: 4.
    11:15:28.468 [26940] Device '{0.0.0.00000000}.{5b97c613-c4d1-43ed-9f04-ecfef951cab0}' new state: 1.
    11:15:28.470 [26940] Fire Restart!
    11:15:28.470 [26940] Device '{0.0.0.00000000}.{5b97c613-c4d1-43ed-9f04-ecfef951cab0}' is default for flow 0 and role 2.
    11:15:28.560 [14236] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' new state: 1.
    11:15:28.561 [14236] Fire Restart!
    11:15:28.561 [14236] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' is default for flow 0 and role 0.
    11:15:28.561 [14236] Fire Restart!
    11:15:28.561 [14236] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' is default for flow 0 and role 1.
    11:15:28.561 [14236] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' is default for flow 0 and role 2.
    11:15:28.632 [14072] Device '{0.0.0.00000000}.{0acc5ded-85e6-44a1-89d8-54c56a8d3a35}' new state: 8.
    11:15:28.664 [14072] Device '{0.0.1.00000000}.{1d39c7ee-df74-42c8-a996-342fad6a9cca}' new state: 4.
    11:15:28.681 [14072] Device '{0.0.1.00000000}.{1d39c7ee-df74-42c8-a996-342fad6a9cca}' new state: 4.
    11:15:28.682 [14072] Device '{0.0.1.00000000}.{1d39c7ee-df74-42c8-a996-342fad6a9cca}' was added.
    11:15:28.702 [14072] Device '{0.0.1.00000000}.{1d39c7ee-df74-42c8-a996-342fad6a9cca}' new state: 4.
    11:15:28.767 [14072] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' new state: 4.
    11:15:28.768 [14072] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 0.
    11:15:28.768 [14072] Fire Restart!
    11:15:28.768 [14072] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 1.
    11:15:28.768 [14072] Device '{0.0.0.00000000}.{5b97c613-c4d1-43ed-9f04-ecfef951cab0}' is default for flow 0 and role 2.
    11:15:28.876 [14072] Device '{0.0.0.00000000}.{5b97c613-c4d1-43ed-9f04-ecfef951cab0}' new state: 8.
    11:15:28.878 [14072] Device '{0.0.0.00000000}.{f438f713-b836-42fd-80a7-9e69cfb0694b}' is default for flow 0 and role 2.
    11:15:29.014 [14072] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' new state: 1.
    11:15:29.016 [14072] Fire Restart!
    11:15:29.017 [14072] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' is default for flow 0 and role 0.
    11:15:29.018 [14072] Fire Restart!
    11:15:29.018 [14072] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' is default for flow 0 and role 1.
    11:15:29.018 [14072] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' is default for flow 0 and role 2.
    11:15:29.112 [14072] Device '{0.0.0.00000000}.{5b97c613-c4d1-43ed-9f04-ecfef951cab0}' new state: 4.
    11:15:29.194 [14072] Device '{0.0.0.00000000}.{5b97c613-c4d1-43ed-9f04-ecfef951cab0}' new state: 8.
    11:15:29.214 [14072] Device '{0.0.1.00000000}.{6dcccdfe-86d3-4ea0-9431-ceaac28e64a1}' new state: 4.
    11:15:29.231 [14072] Device '{0.0.1.00000000}.{6dcccdfe-86d3-4ea0-9431-ceaac28e64a1}' new state: 4.
    11:15:29.232 [14072] Device '{0.0.1.00000000}.{6dcccdfe-86d3-4ea0-9431-ceaac28e64a1}' was added.
    11:15:29.259 [14236] Device '{0.0.1.00000000}.{6dcccdfe-86d3-4ea0-9431-ceaac28e64a1}' new state: 4.
    11:15:30.088 [28280] Restarting...
    11:15:30.088 [34764] Stopping rendering...
    11:15:30.089 [34764] Rendering thread finished. Return code: 0.
    11:15:30.091 [28280] Getting primary audio device...
    11:15:30.093 [28280] Device ID: '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}'. Form Factor: 9.
    11:15:30.093 [ 1360] Rendering thread started. Device ID: '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}'.
    11:15:30.093 [ 1360] Render. Device State: 1.
    11:15:30.094 [ 1360] Getting output format...
    11:15:30.094 [ 1360] Format: PCM 2ch 48000Hz 16-bit integer.
    11:15:30.094 [ 1360] Getting mixing format...
    11:15:30.094 [ 1360] Format: PCM 2ch 48000Hz 32-bit float.
    11:15:30.096 [ 1360] Starting rendering...
    11:15:30.100 [ 1360] Rendering loop started.
    11:15:30.679 [26940] Device '{0.0.0.00000000}.{0acc5ded-85e6-44a1-89d8-54c56a8d3a35}' new state: 4.
    11:15:30.787 [14072] Device '{0.0.0.00000000}.{0acc5ded-85e6-44a1-89d8-54c56a8d3a35}' new state: 1.
    11:15:30.788 [14072] Fire Restart!
    11:15:31.201 [14072] Device '{0.0.0.00000000}.{5b97c613-c4d1-43ed-9f04-ecfef951cab0}' new state: 4.
    11:15:31.286 [14072] Device '{0.0.0.00000000}.{5b97c613-c4d1-43ed-9f04-ecfef951cab0}' new state: 1.
    11:15:31.287 [14072] Fire Restart!
    11:15:32.304 [28280] Restarting...
    11:15:32.304 [ 1360] Stopping rendering...
    11:15:32.305 [ 1360] Rendering thread finished. Return code: 0.
    11:15:32.308 [28280] Getting primary audio device...
    11:15:32.310 [28280] Device ID: '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}'. Form Factor: 9.
    11:15:32.310 [ 9716] Rendering thread started. Device ID: '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}'.
    11:15:32.310 [ 9716] Render. Device State: 1.
    11:15:32.311 [ 9716] Getting output format...
    11:15:32.311 [ 9716] Format: PCM 2ch 48000Hz 16-bit integer.
    11:15:32.311 [ 9716] Getting mixing format...
    11:15:32.311 [ 9716] Format: PCM 2ch 48000Hz 32-bit float.
    11:15:32.316 [ 9716] Starting rendering...
    11:15:32.322 [ 9716] Rendering loop started.
    11:20:27.692 [34656] Device '{0.0.0.00000000}.{5b97c613-c4d1-43ed-9f04-ecfef951cab0}' new state: 8.
    11:20:27.772 [34656] Device '{0.0.0.00000000}.{0acc5ded-85e6-44a1-89d8-54c56a8d3a35}' new state: 8.
    11:20:27.839 [34656] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' new state: 8.
    11:20:27.840 [34656] Fire Restart!
    11:20:27.841 [34656] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 0.
    11:20:27.841 [34656] Fire Restart!
    11:20:27.841 [34656] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 1.
    11:20:27.841 [34656] Device '{0.0.0.00000000}.{f438f713-b836-42fd-80a7-9e69cfb0694b}' is default for flow 0 and role 2.
    11:20:27.848 [ 3524] Session is disconnected with reason 0. Restart.
    11:20:27.849 [ 3524] Fire Restart!
    11:20:27.849 [ 9716] Stopping rendering...
    11:20:27.849 [ 9716] Rendering thread finished. Return code: 1.
    11:20:29.382 [28280] Restarting...
    11:20:29.382 [28280] Getting primary audio device...
    11:20:29.383 [28280] Device ID: '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}'. Form Factor: 1.
    11:20:29.383 [ 5748] Rendering thread started. Device ID: '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}'.
    11:20:29.383 [ 5748] Render. Device State: 1.
    11:20:29.383 [ 5748] Getting output format...
    11:20:29.383 [ 5748] Format: PCM 2ch 48000Hz 16-bit integer.
    11:20:29.383 [ 5748] Getting mixing format...
    11:20:29.384 [ 5748] Format: PCM 2ch 48000Hz 32-bit float.
    11:20:29.388 [ 5748] Starting rendering...
    11:20:29.389 [ 5748] Rendering loop started.
    11:38:33.245 [33312] Device '{0.0.0.00000000}.{5b97c613-c4d1-43ed-9f04-ecfef951cab0}' new state: 4.
    11:38:33.398 [33312] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' new state: 1.
    11:38:33.400 [33312] Fire Restart!
    11:38:33.400 [33312] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' is default for flow 0 and role 0.
    11:38:33.401 [33312] Fire Restart!
    11:38:33.401 [33312] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' is default for flow 0 and role 1.
    11:38:33.401 [33312] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' is default for flow 0 and role 2.
    11:38:33.467 [27684] Device '{0.0.0.00000000}.{5b97c613-c4d1-43ed-9f04-ecfef951cab0}' new state: 8.
    11:38:33.579 [27684] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' new state: 8.
    11:38:33.580 [27684] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 0.
    11:38:33.580 [27684] Fire Restart!
    11:38:33.580 [27684] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 1.
    11:38:33.581 [27684] Device '{0.0.0.00000000}.{f438f713-b836-42fd-80a7-9e69cfb0694b}' is default for flow 0 and role 2.
    11:38:33.672 [27684] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' new state: 4.
    11:38:33.797 [27684] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' new state: 8.
    11:38:33.843 [27684] Device '{0.0.1.00000000}.{c504e89b-254d-4e94-a886-74792bd0050d}' new state: 4.
    11:38:33.901 [27684] Device '{0.0.1.00000000}.{c504e89b-254d-4e94-a886-74792bd0050d}' new state: 4.
    11:38:33.907 [27684] Device '{0.0.1.00000000}.{c504e89b-254d-4e94-a886-74792bd0050d}' was added.
    11:38:33.962 [27684] Device '{0.0.1.00000000}.{c504e89b-254d-4e94-a886-74792bd0050d}' new state: 4.
    11:38:34.921 [28280] Restarting...
    11:38:34.929 [ 5748] Stopping rendering...
    11:38:34.931 [ 5748] Rendering thread finished. Return code: 0.
    11:38:34.934 [28280] Getting primary audio device...
    11:38:34.935 [28280] Device ID: '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}'. Form Factor: 1.
    11:38:34.935 [30892] Rendering thread started. Device ID: '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}'.
    11:38:34.935 [30892] Render. Device State: 1.
    11:38:34.936 [30892] Getting output format...
    11:38:34.936 [30892] Format: PCM 2ch 48000Hz 16-bit integer.
    11:38:34.936 [30892] Getting mixing format...
    11:38:34.936 [30892] Format: PCM 2ch 48000Hz 32-bit float.
    11:38:34.942 [30892] Starting rendering...
    11:38:34.943 [30892] Rendering loop started.
    13:27:39.290 [20760] Device '{0.0.0.00000000}.{5b97c613-c4d1-43ed-9f04-ecfef951cab0}' new state: 4.
    13:27:39.466 [33136] Device '{0.0.0.00000000}.{0acc5ded-85e6-44a1-89d8-54c56a8d3a35}' new state: 1.
    13:27:39.467 [33136] Fire Restart!
    13:27:39.519 [33136] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' new state: 1.
    13:27:39.520 [33136] Fire Restart!
    13:27:39.520 [33136] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' is default for flow 0 and role 0.
    13:27:39.520 [33136] Fire Restart!
    13:27:39.520 [33136] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' is default for flow 0 and role 1.
    13:27:39.520 [33136] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' is default for flow 0 and role 2.
    13:27:39.613 [33136] Device '{0.0.0.00000000}.{5b97c613-c4d1-43ed-9f04-ecfef951cab0}' new state: 1.
    13:27:39.615 [33136] Fire Restart!
    13:27:39.692 [33136] Device '{0.0.0.00000000}.{0acc5ded-85e6-44a1-89d8-54c56a8d3a35}' new state: 4.
    13:27:39.789 [33136] Device '{0.0.0.00000000}.{0acc5ded-85e6-44a1-89d8-54c56a8d3a35}' new state: 8.
    13:27:39.825 [33136] Device '{0.0.1.00000000}.{21cca406-e4e1-479d-bdd1-8cb71b5f91e0}' new state: 4.
    13:27:39.849 [33136] Device '{0.0.1.00000000}.{21cca406-e4e1-479d-bdd1-8cb71b5f91e0}' new state: 4.
    13:27:39.849 [33136] Device '{0.0.1.00000000}.{21cca406-e4e1-479d-bdd1-8cb71b5f91e0}' was added.
    13:27:39.869 [33136] Device '{0.0.1.00000000}.{21cca406-e4e1-479d-bdd1-8cb71b5f91e0}' new state: 4.
    13:27:39.930 [33136] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' new state: 4.
    13:27:39.931 [33136] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 0.
    13:27:39.931 [33136] Fire Restart!
    13:27:39.931 [33136] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 1.
    13:27:39.932 [33136] Device '{0.0.0.00000000}.{5b97c613-c4d1-43ed-9f04-ecfef951cab0}' is default for flow 0 and role 2.
    13:27:40.009 [33136] Device '{0.0.0.00000000}.{5b97c613-c4d1-43ed-9f04-ecfef951cab0}' new state: 8.
    13:27:40.009 [33136] Device '{0.0.0.00000000}.{f438f713-b836-42fd-80a7-9e69cfb0694b}' is default for flow 0 and role 2.
    13:27:40.080 [20676] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' new state: 1.
    13:27:40.081 [20676] Fire Restart!
    13:27:40.081 [20676] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' is default for flow 0 and role 0.
    13:27:40.081 [20676] Fire Restart!
    13:27:40.082 [20676] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' is default for flow 0 and role 1.
    13:27:40.082 [20676] Device '{0.0.0.00000000}.{23a8f50e-a5ed-4448-947a-98205a8b4b89}' is default for flow 0 and role 2.
    13:27:41.544 [28280] Restarting...
    13:27:41.544 [30892] Stopping rendering...
  11. #261
    VEG Author

    Sorry, I'm on vacation now, so won't be able to look into it. I'll be back in January. In any case, it is worth to mention approximate timing when your soundbar and PC went to sleep and when it woke up so I could correlate it with the logs.

  12. #263
    peter klein

    i don't see any 'exe', just images and code .

    so what file do i have to choose to have it installed?
    i'd like to send a screenshot but that's impossible

  13. #264
    VEG Author

    peter klein, there are just 2 exe files and a txt file in the archive, there are no images nor code. Most probably you downloaded the source code instead of binary distribution.

  14. #265
    VEG Author

    Sameh, I meant not your settings, but specific timestamp in the log when you turned on your monitor and soundbar, and Sound Keeper didn't generate any sound. Or this moment is actually at the end of the log and it stuck at "Restarting..."? Can you reproduce this issue?

    The WARNING: Buggy power information. is expected on Windows 11. This version of Windows doesn't provide information how much time is left until PC goes into sleep mode, so Sound Keeper doesn't monitor if it should stop to output any audio right before PC is going to sleep automatically. This trick is required because by default any sound prevents Windows from automatic sleep.

  15. #266
    Sameh

    veg
    yes its at this moment : 13:27:41.544 [28280] Restarting...
    13:27:41.544 [30892] Stopping rendering... "
    the screens was off , and at this moment i back and i noticed that the log stuck at this info

    i will try to reopen the logger again and reproduce it and i will inform u
    but i didn't notice it from this moment
    ---

    by the way , the soundkeeper doesn't prevent my pc from automatic sleeping

  16. #267
    VEG Author

    Oh, that's really weird that it stuck there, seems like there is nothing that could stop execution at that place. Please tell if you can reproduce this issue. If you can, we could try to figure out what's wrong there by adding more logging to that place.

  17. #268
    Sameh

    Veg
    it happens again

    this is the log

    10:22:08.589 [40776] Windows Build Number: 22621.
    10:22:08.589 [40776] Main thread started.
    10:22:08.590 [40776] Exe File Name: SoundKeeper64dPrimaryZero.exe.
    10:22:08.590 [40776] Remaining time to sleeping: 0 seconds.
    10:22:08.590 [40776] WARNING: Buggy power information.
    10:22:08.590 [40776] Device Type: Primary.
    10:22:08.590 [40776] Stream Type: Zero.
    10:22:08.590 [40776] Periodicity: Disabled.
    10:22:08.590 [40776] Sleep Detection: Disabled.
    10:22:08.593 [40776] Main loop started.
    10:22:08.593 [40776] Starting...
    10:22:08.593 [40776] Getting primary audio device...
    10:22:08.595 [40776] Device ID: '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}'. Form Factor: 9.
    10:22:08.595 [29228] Rendering thread started. Device ID: '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}'.
    10:22:08.595 [29228] Render. Device State: 1.
    10:22:08.596 [29228] Getting output format...
    10:22:08.596 [29228] WARNING: Unrecognized sample format: {0000010c-0cea-0010-8000-00aa00389b71} 8ch 192000Hz 16-bit.
    10:22:08.596 [29228] Getting mixing format...
    10:22:08.597 [29228] Format: PCM 8ch 48000Hz 32-bit float.
    10:22:08.601 [29228] Starting rendering...
    10:22:08.610 [29228] Rendering loop started.
    11:21:18.534 [23864] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 8.
    11:21:18.594 [23864] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' new state: 8.
    11:21:18.595 [23864] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' is default for flow 0 and role 2.
    11:21:18.757 [10124] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' new state: 4.
    11:21:18.758 [10124] Fire Restart!
    11:21:18.758 [10124] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 0.
    11:21:18.759 [10124] Fire Restart!
    11:21:18.760 [10124] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 1.
    11:21:18.760 [10124] Device '{0.0.0.00000000}.{f438f713-b836-42fd-80a7-9e69cfb0694b}' is default for flow 0 and role 2.
    11:21:18.766 [10124] Session is disconnected with reason 0. Restart.
    11:21:18.766 [10124] Fire Restart!
    11:21:18.766 [29228] Stopping rendering...
    11:21:18.766 [29228] Rendering thread finished. Return code: 1.
    11:21:20.293 [40776] Restarting...
    11:21:20.293 [40776] Getting primary audio device...
    11:21:20.294 [40776] Device ID: '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}'. Form Factor: 1.
    11:21:20.295 [16260] Rendering thread started. Device ID: '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}'.
    11:21:20.295 [16260] Render. Device State: 1.
    11:21:20.295 [16260] Getting output format...
    11:21:20.295 [16260] Format: PCM 2ch 48000Hz 16-bit integer.
    11:21:20.295 [16260] Getting mixing format...
    11:21:20.295 [16260] Format: PCM 2ch 48000Hz 32-bit float.
    11:21:20.300 [16260] Starting rendering...
    11:21:20.301 [16260] Rendering loop started.
    11:32:35.413 [22228] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' new state: 4.
    11:32:35.541 [25596] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 1.
    11:32:35.542 [25596] Fire Restart!
    11:32:35.542 [25596] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' is default for flow 0 and role 2.
    11:32:35.652 [29888] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' new state: 1.
    11:32:35.659 [29888] Fire Restart!
    11:32:35.660 [29888] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' is default for flow 0 and role 0.
    11:32:35.660 [29888] Fire Restart!
    11:32:35.660 [29888] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' is default for flow 0 and role 1.
    11:32:35.660 [29888] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' is default for flow 0 and role 2.
    11:32:35.771 [29888] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 4.
    11:32:35.873 [29888] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 1.
    11:32:35.874 [29888] Fire Restart!
    11:32:36.016 [29888] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 8.
    11:32:36.080 [29888] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' new state: 8.
    11:32:36.081 [29888] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 0.
    11:32:36.081 [29888] Fire Restart!
    11:32:36.082 [29888] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 1.
    11:32:36.082 [29888] Device '{0.0.0.00000000}.{f438f713-b836-42fd-80a7-9e69cfb0694b}' is default for flow 0 and role 2.
    11:32:37.180 [40776] Restarting...
    11:32:37.180 [16260] Stopping rendering...
    11:32:37.187 [16260] Rendering thread finished. Return code: 0.
    11:32:37.198 [40776] Getting primary audio device...
    11:32:37.203 [40776] Device ID: '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}'. Form Factor: 9.
    11:32:37.204 [29056] Rendering thread started. Device ID: '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}'.
    11:32:37.204 [29056] Render. Device State: 1.
    11:32:37.240 [23296] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' new state: 1.
    11:32:37.243 [23296] Fire Restart!
    11:32:37.243 [23296] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' is default for flow 0 and role 0.
    11:32:37.244 [23296] Fire Restart!
    11:32:37.244 [23296] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' is default for flow 0 and role 1.
    11:32:37.244 [23296] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' is default for flow 0 and role 2.
    11:32:37.273 [29056] Getting output format...
    11:32:37.273 [29056] WARNING: Unrecognized sample format: {0000010c-0cea-0010-8000-00aa00389b71} 8ch 192000Hz 16-bit.
    11:32:37.273 [29056] Getting mixing format...
    11:32:37.274 [29056] Format: PCM 8ch 48000Hz 32-bit float.
    11:32:37.296 [29056] Starting rendering...
    11:32:37.367 [29056] Rendering loop started.
    11:32:38.001 [25596] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' new state: 4.
    11:32:38.099 [25596] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' new state: 1.
    11:32:38.101 [25596] Fire Restart!
    11:32:38.101 [25596] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' is default for flow 0 and role 2.
    11:32:38.305 [25596] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 4.
    11:32:38.428 [25596] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 1.
    11:32:38.429 [25596] Fire Restart!
    11:32:39.632 [40776] Restarting...
    11:32:39.633 [29056] Stopping rendering...
    11:32:39.655 [29056] Rendering thread finished. Return code: 0.
    11:32:39.690 [40776] Getting primary audio device...
    11:32:39.692 [40776] Device ID: '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}'. Form Factor: 9.
    11:32:39.692 [16068] Rendering thread started. Device ID: '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}'.
    11:32:39.692 [16068] Render. Device State: 1.
    11:32:39.692 [16068] Getting output format...
    11:32:39.693 [16068] WARNING: Unrecognized sample format: {0000010c-0cea-0010-8000-00aa00389b71} 8ch 192000Hz 16-bit.
    11:32:39.693 [16068] Getting mixing format...
    11:32:39.693 [16068] Format: PCM 8ch 48000Hz 32-bit float.
    11:32:39.711 [16068] Starting rendering...
    11:32:39.750 [16068] Rendering loop started.
    11:35:18.802 [40512] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 8.
    11:35:19.049 [40512] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' new state: 4.
    11:35:19.050 [40512] Fire Restart!
    11:35:19.050 [40512] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' is default for flow 0 and role 0.
    11:35:19.050 [40512] Fire Restart!
    11:35:19.050 [40512] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' is default for flow 0 and role 1.
    11:35:19.108 [ 5572] Session is disconnected with reason 0. Restart.
    11:35:19.108 [ 5572] Fire Restart!
    11:35:19.108 [16068] Stopping rendering...
    11:35:19.109 [16068] Rendering thread finished. Return code: 1.
    11:35:20.585 [40776] Restarting...
    11:35:20.585 [40776] Getting primary audio device...
    11:35:20.586 [40776] Device ID: '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}'. Form Factor: 9.
    11:35:20.586 [41948] Rendering thread started. Device ID: '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}'.
    11:35:20.586 [41948] Render. Device State: 1.
    11:35:20.587 [41948] Getting output format...
    11:35:20.587 [41948] Format: PCM 2ch 48000Hz 16-bit integer.
    11:35:20.587 [41948] Getting mixing format...
    11:35:20.587 [41948] Format: PCM 2ch 48000Hz 32-bit float.
    11:35:20.590 [41948] Starting rendering...
    11:35:20.640 [41948] Rendering loop started.
    11:35:24.665 [20600] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 4.
    11:35:24.783 [20600] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 1.
    11:35:24.790 [20600] Fire Restart!
    11:35:25.304 [40776] Restarting...
    11:35:25.304 [41948] Stopping rendering...
    11:35:25.311 [41948] Rendering thread finished. Return code: 0.
    11:35:25.316 [40776] Getting primary audio device...
    11:35:25.317 [40776] Device ID: '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}'. Form Factor: 9.
    11:35:25.318 [42024] Rendering thread started. Device ID: '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}'.
    11:35:25.318 [42024] Render. Device State: 1.
    11:35:25.318 [42024] Getting output format...
    11:35:25.318 [42024] Format: PCM 2ch 48000Hz 16-bit integer.
    11:35:25.318 [42024] Getting mixing format...
    11:35:25.319 [42024] Format: PCM 2ch 48000Hz 32-bit float.
    11:35:25.327 [42024] Starting rendering...
    11:35:25.354 [42024] Rendering loop started.
    11:35:26.720 [ 5572] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' new state: 1.
    11:35:26.724 [ 5572] Fire Restart!
    11:35:26.725 [ 5572] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' is default for flow 0 and role 0.
    11:35:26.725 [ 5572] Fire Restart!
    11:35:26.725 [ 5572] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' is default for flow 0 and role 1.
    11:35:27.744 [40776] Restarting...
    11:35:27.744 [42024] Stopping rendering...
    11:35:27.748 [42024] Rendering thread finished. Return code: 0.
    11:35:27.749 [40776] Getting primary audio device...
    11:35:27.750 [40776] Device ID: '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}'. Form Factor: 9.
    11:35:27.750 [39776] Rendering thread started. Device ID: '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}'.
    11:35:27.750 [39776] Render. Device State: 1.
    11:35:27.750 [39776] Getting output format...
    11:35:27.750 [39776] WARNING: Unrecognized sample format: {0000010c-0cea-0010-8000-00aa00389b71} 8ch 192000Hz 16-bit.
    11:35:27.750 [39776] Getting mixing format...
    11:35:27.751 [39776] Format: PCM 8ch 48000Hz 32-bit float.
    11:35:27.766 [39776] Starting rendering...
    11:35:27.777 [39776] Rendering loop started.
    12:42:15.454 [38888] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 8.
    12:42:15.516 [38888] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' new state: 8.
    12:42:15.517 [38888] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' is default for flow 0 and role 2.
    12:42:15.700 [14252] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' new state: 4.
    12:42:15.702 [14252] Fire Restart!
    12:42:15.703 [14252] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 0.
    12:42:15.703 [14252] Fire Restart!
    12:42:15.703 [14252] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 1.
    12:42:15.703 [14252] Device '{0.0.0.00000000}.{f438f713-b836-42fd-80a7-9e69cfb0694b}' is default for flow 0 and role 2.
    12:42:15.704 [25860] Session is disconnected with reason 0. Restart.
    12:42:15.704 [25860] Fire Restart!
    12:42:15.704 [39776] Stopping rendering...
    12:42:15.705 [39776] Rendering thread finished. Return code: 1.
    12:42:17.225 [40776] Restarting...
    12:42:17.225 [40776] Getting primary audio device...
    12:42:17.226 [40776] Device ID: '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}'. Form Factor: 1.
    12:42:17.226 [34148] Rendering thread started. Device ID: '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}'.
    12:42:17.226 [34148] Render. Device State: 1.
    12:42:17.226 [34148] Getting output format...
    12:42:17.226 [34148] Format: PCM 2ch 48000Hz 16-bit integer.
    12:42:17.226 [34148] Getting mixing format...
    12:42:17.227 [34148] Format: PCM 2ch 48000Hz 32-bit float.
    12:42:17.229 [34148] Starting rendering...
    12:42:17.229 [34148] Rendering loop started.
    12:54:02.039 [36452] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' new state: 4.
    12:54:02.195 [40244] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 1.
    12:54:02.196 [40244] Fire Restart!
    12:54:02.196 [40244] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' is default for flow 0 and role 2.
    12:54:02.278 [40244] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' new state: 1.
    12:54:02.279 [40244] Fire Restart!
    12:54:02.279 [40244] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' is default for flow 0 and role 0.
    12:54:02.279 [40244] Fire Restart!
    12:54:02.279 [40244] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' is default for flow 0 and role 1.
    12:54:02.281 [40244] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' is default for flow 0 and role 2.
    12:54:02.394 [40244] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 4.
    12:54:02.490 [40244] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 1.
    12:54:02.490 [40244] Fire Restart!
    12:54:02.646 [40244] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' new state: 8.
    12:54:02.647 [40244] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 0.
    12:54:02.648 [40244] Fire Restart!
    12:54:02.648 [40244] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 1.
    12:54:02.648 [40244] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' is default for flow 0 and role 2.
    12:54:02.725 [40244] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 8.
    12:54:02.726 [40244] Device '{0.0.0.00000000}.{f438f713-b836-42fd-80a7-9e69cfb0694b}' is default for flow 0 and role 2.
    12:54:03.800 [40776] Restarting...
    12:54:03.800 [34148] Stopping rendering...
    12:54:03.830 [34148] Rendering thread finished. Return code: 0.
    12:54:03.843 [40776] Getting primary audio device...
    12:54:03.855 [40776] Device ID: '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}'. Form Factor: 9.
    12:54:03.856 [37728] Rendering thread started. Device ID: '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}'.
    12:54:03.856 [37468] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' new state: 1.
    12:54:03.856 [37468] Fire Restart!
    12:54:03.856 [37728] Render. Device State: 1.
    12:54:03.856 [37468] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' is default for flow 0 and role 0.
    12:54:03.856 [37468] Fire Restart!
    12:54:03.856 [37468] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' is default for flow 0 and role 1.
    12:54:03.856 [37468] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' is default for flow 0 and role 2.
    12:54:03.877 [37728] Getting output format...
    12:54:03.877 [37728] WARNING: Unrecognized sample format: {0000010c-0cea-0010-8000-00aa00389b71} 8ch 192000Hz 16-bit.
    12:54:03.877 [37728] Getting mixing format...
    12:54:03.877 [37728] Format: PCM 8ch 48000Hz 32-bit float.
    12:54:03.900 [37728] Starting rendering...
    12:54:03.931 [37728] Rendering loop started.
    12:54:04.749 [36452] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' new state: 4.
    12:54:04.870 [40776] Restarting...
    12:54:04.870 [37728] Stopping rendering...

    i connected the sound bar to my motherboard hdmi not to the graphic card hdmi

    https://i.imgur.com/bzLXKmS.png

  18. #269
    Sameh

    i am waiting for ur reply veg

  19. #270
    VEG Author

    I updated the debug version to output more details in the place where it seems stuck for some reason. Please try to reproduce the issue.

  20. #271
    Sameh

    it stopped at this stage

    14:15:20.627 [18024] Leave rendering loop. Stopping audio client...
    14:15:20.630 [18024] Rendering cleanup...
    14:15:20.631 [18024] Rendering thread mode: 0. Delay: 0.
    14:15:20.631 [18024] Leave rendering thread. Return code: 0.
    14:15:20.635 [33612] Getting primary audio device...
    14:15:20.637 [33612] Device ID: '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}'. Form Factor: 1.
    14:15:20.637 [24744] Enter rendering thread. Device ID: '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}'.
    14:15:20.637 [24744] Rendering thread mode: 1. Delay: 0.
    14:15:20.638 [24744] Render. Device State: 1.
    14:15:20.638 [24744] Getting output format...
    14:15:20.638 [24744] Format: PCM 2ch 48000Hz 16-bit integer.
    14:15:20.638 [24744] Getting mixing format...
    14:15:20.638 [24744] Format: PCM 2ch 48000Hz 32-bit float.
    14:15:20.646 [24744] Starting rendering...
    14:15:20.656 [24744] Enter rendering loop.
    14:15:20.745 [26112] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' new state: 1.
    14:15:20.747 [26112] Fire Restart!
    14:15:20.748 [26112] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' is default for flow 0 and role 0.
    14:15:20.748 [26112] Fire Restart!
    14:15:20.748 [26112] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' is default for flow 0 and role 1.
    14:15:20.748 [26112] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' is default for flow 0 and role 2.
    14:15:21.572 [31012] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 4.
    14:15:21.769 [26112] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' new state: 1.
    14:15:21.771 [26112] Fire Restart!
    14:15:21.772 [33612] Restarting...
    14:15:21.772 [24744] Leave rendering loop. Stopping audio client...
    14:15:21.772 [26112] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' is default for flow 0 and role 2.
    14:15:22.131 [24744] Rendering cleanup...
  21. #272
    VEG Author

    Well, that is really weird. It looks like one of WASAPI cleanup calls is stuck. Could you please make a dump of the Sound Keeper process when it is in such state? You can do it from the standard Task Manager. Right click on the process of the Sound Keeper, Create dump file.

  22. #273
    Sameh

    the dump file : https://easyupload.io/gmrotp

    the log :

    2023/01/28 10:02:01.863 [15276] Windows Build Number: 22621.
    10:02:01.863 [15276] Enter main thread.
    10:02:01.864 [15276] Exe File Name: SoundKeeper64dPrimaryZero.exe.
    10:02:01.864 [15276] Remaining time to sleeping: 0 seconds.
    10:02:01.864 [15276] WARNING: Buggy power information.
    10:02:01.864 [15276] Device Type: Primary.
    10:02:01.864 [15276] Stream Type: Zero.
    10:02:01.864 [15276] Periodicity: Disabled.
    10:02:01.864 [15276] Sleep Detection: Disabled.
    10:02:01.867 [15276] Enter main loop.
    10:02:01.868 [15276] Starting...
    10:02:01.868 [15276] Getting primary audio device...
    10:02:01.869 [15276] Device ID: '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}'. Form Factor: 9.
    10:02:01.869 [42048] Enter rendering thread. Device ID: '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}'.
    10:02:01.869 [42048] Rendering thread mode: 1. Delay: 0.
    10:02:01.869 [42048] Render. Device State: 1.
    10:02:01.870 [42048] Getting output format...
    10:02:01.870 [42048] WARNING: Unrecognized sample format: {0000010c-0cea-0010-8000-00aa00389b71} 8ch 192000Hz 16-bit.
    10:02:01.870 [42048] Getting mixing format...
    10:02:01.871 [42048] Format: PCM 8ch 48000Hz 32-bit float.
    10:02:01.875 [42048] Starting rendering...
    10:02:01.883 [42048] Enter rendering loop.
    10:39:53.192 [16600] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 8.
    10:39:53.261 [16600] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' new state: 8.
    10:39:53.261 [16600] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' is default for flow 0 and role 2.
    10:39:53.439 [24968] Device '{0.0.0.00000000}.{09763f2b-e7d5-46ce-912f-5e8b7e9104a9}' new state: 4.
    10:39:53.440 [24968] Fire Restart!
    10:39:53.441 [24968] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 0.
    10:39:53.442 [24968] Fire Restart!
    10:39:53.442 [24968] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 1.
    10:39:53.442 [24968] Device '{0.0.0.00000000}.{f438f713-b836-42fd-80a7-9e69cfb0694b}' is default for flow 0 and role 2.
    10:39:53.444 [16600] Session is disconnected with reason 0. Restart.
    10:39:53.444 [16600] Fire Restart!
    10:39:53.444 [42048] Leave rendering loop. Stopping audio client...
    10:39:53.444 [42048] Rendering cleanup...
    10:39:53.445 [42048] Rendering thread mode: 4. Delay: 0.
    10:39:53.445 [42048] Leave rendering thread. Return code: 1.
    10:39:54.966 [15276] Restarting...
    10:39:54.966 [15276] Getting primary audio device...
    10:39:54.967 [15276] Device ID: '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}'. Form Factor: 1.
    10:39:54.967 [44860] Enter rendering thread. Device ID: '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}'.
    10:39:54.967 [44860] Rendering thread mode: 1. Delay: 0.
    10:39:54.968 [44860] Render. Device State: 1.
    10:39:54.968 [44860] Getting output format...
    10:39:54.968 [44860] Format: PCM 2ch 48000Hz 16-bit integer.
    10:39:54.968 [44860] Getting mixing format...
    10:39:54.968 [44860] Format: PCM 2ch 48000Hz 32-bit float.
    10:39:54.973 [44860] Starting rendering...
    10:39:54.973 [44860] Enter rendering loop.
    11:40:51.958 [25408] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' new state: 4.
    11:40:52.086 [10412] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 1.
    11:40:52.087 [10412] Fire Restart!
    11:40:52.087 [10412] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' is default for flow 0 and role 2.
    11:40:52.192 [25408] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' new state: 1.
    11:40:52.194 [25408] Fire Restart!
    11:40:52.198 [25408] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' is default for flow 0 and role 0.
    11:40:52.200 [25408] Fire Restart!
    11:40:52.202 [25408] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' is default for flow 0 and role 1.
    11:40:52.202 [25408] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' is default for flow 0 and role 2.
    11:40:52.323 [10412] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 4.
    11:40:52.437 [25408] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 1.
    11:40:52.438 [25408] Fire Restart!
    11:40:52.581 [37248] Device '{0.0.0.00000000}.{e14f7492-49f7-4359-a0e8-b908f94bdab0}' new state: 8.
    11:40:52.642 [37248] Device '{0.0.0.00000000}.{c0c35c03-2675-4601-994e-501190ad04e1}' new state: 8.
    11:40:52.643 [37248] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 0.
    11:40:52.644 [37248] Fire Restart!
    11:40:52.644 [37248] Device '{0.0.0.00000000}.{93bcc5df-d354-4238-8f04-bce120d89bbd}' is default for flow 0 and role 1.
    11:40:52.644 [37248] Device '{0.0.0.00000000}.{f438f713-b836-42fd-80a7-9e69cfb0694b}' is default for flow 0 and role 2.
    11:40:53.722 [15276] Restarting...
    11:40:53.722 [44860] Leave rendering loop. Stopping audio client...
    11:40:53.723 [44860] Rendering cleanup...
  23. #274
    VEG Author

    Seems like I found a potential deadlock in WASAPI related code that might be caused by one of small optimizations. I updated the debug version where I temporarily disabled it. Please check if it helps.

    BTW, is it easy to reproduce the issue for you? Does it require a few attempts, or it happens always?

  24. #275
    Sameh

    it happens too much , every time i return to the pc .. it happens about 80% of the time

  25. #276
    VEG Author

    If the latest change helps to solve it, I'll release a new version with a fix.

  26. #277
    Sameh

    testing it 3-4 days to totally check the fix
    i will comment back if the error occur again

  27. #278
    kswong98

    Hello VEG!

    Came over here as I am looking for solutions for my DAC (Topping DX1) having clicking sound everytime I play something after idling, read about Soundkeeper from audiosciencereview and some other reddit posts!
    For example:
    https://www.audiosciencereview.com/forum/index.php?threads/windows-10-audio-inactivity-causing-loud-popping-noise-in-topping-dac.27444/page-2#post-1467204

    I have some questions here:
    1. By default, what is Soundkeeper doing after the software starts running? Is it doing the description as 'Fluctuate' mode?
    2. If yes, will it affect the audio quality, even if inaudible?
    3. SoundKeeperOpenOnly.exe vs SoundKeeperZero.exe, what are the difference? Do OpenOnly plays anything, while Zero still plays something, but in 0hz?

    Thanks in advance!

  28. #279
    VEG Author

    Fluctuate flips the lowest bit in stream of zeroes once per second (by default). It is impossible to hear. Zero plays stream of zeroes. OpenOnly opens audio output device, but doesn't stream anything. All of these modes shouldn't affect audio quality.

  29. #280
    VEG Author

    Sound Keeper v1.3.1

    • A potential deadlock when audio devices are being added or removed has been fixed.
    • Fluctuate treats non-PCM output formats (like Dolby Atmos) as 24-bit instead of 16-bit.
    • Frequency parameter F is limited by half of current sample rate to avoid generation of unexpected noise.
    • More detailed logs in debug build. Debug output is flushed immediately, so it can be redirected to a file.
  30. #281
    bananakid

    Thank you so much, VEG!

    I've been using PowerShell to play silent WAV (from RAM to save SSD reads as explained in my question at Stack Overflow) to keep my audio device busy but it turned out this causes RAM paged pool leak and the only fix is to purge script from RAM with additional loops. My system's paged pool was reported to be around 8 GB after a week of uptime and the only way to release it was to use RAMMap by SysInternals. Now I can simply rename EXE to SoundKeeperAll.exe, run it and be happy! Wish I knew earlier. I'll feature a link to your app at Stack Overflow so more people are aware.

    I'm not sure if it's possible to improve app further, but JFYI PowerShell solution (that leads to memory leak) settles with 0.5 MB of RAM usage (after a while) while SoundKeeperAll.exe consumes 2.1 MB all the time.

    Жыве Беларусь!

  31. #282
    bananakid

    A quick follow-up: I used 'Empty' > "Working Sets" in RAMMap and Sound Keeper's RAM usage dropped from 2.2 MB to 0.7 MB while it's perfectly functional. As I stated above, PowerShell that utilizes System.Media.SoundPlayer uses 0.5 MB, 0.7 MB by SoundKeeperAll.exe is reasonable in comparison. While I'm happy with 2.0 MB, maybe you could look into implementing RAM optimization?.. I'll keep an eye on RAM paged pool size in the meantime. Thank you for your time!

  32. #284
    Sameh

    Veg , the fix working like a charm
    ----
    i want to suggest an additional option veg if u can work around it
    my scenario is : i have 2 display screens and the bar is the 3rd , can u implement an option allowing us to turn off the 2 main screens after a specific time of mouse and keyboard idle / or even using a hotkey to overcome the original windows display turn off option which turn off the 2 screens plus the sound bar too
    something like this option in the MultiMonitorTool.exe disable monitor / turn off
    ---
    if this implemented in the tool , it will be a total solution for the sound bar users

  33. #285
    sneakytiki

    so i never replied because my problem was very intermittent and i couldn't seem to nail down reproducing it, much less catching it on a log.. but it seems you have inadvertently fixed my issue with this latest update, everything seems to be working perfectly now, thanks for all your work!

  34. #286
    VEG Author

    bananakid,

    I'm not sure if it's possible to improve app further, but JFYI PowerShell solution (that leads to memory leak) settles with 0.5 MB of RAM usage (after a while) while SoundKeeperAll.exe consumes 2.1 MB all the time.

    I guess that your PowerShell script plays on one primary output only (like in the default Sound Keeper mode), and Sound Keeper with All flag enabled plays on all audio outputs. The more outputs are active, the more memory it needs for audio buffers. Sound Keeper creates a 1-second buffer for every audio output. WASAPI uses float32 sample format in shared mode, so each sample always takes 4 bytes. For stereo output with 48000 Hz sample rate, the buffer is 48000*2*4 = 384000 bytes. For 7.1 output with 192000 Hz sample rate, the buffer is 192000*8*4 = 6144000 bytes. So, it depends on amount of used audio outputs and their resolution. I could make audio buffer smaller, e.g. 100ms, it will reduce memory consumption 10 times, but the sound keeper threads will wake up 10 times more frequently to feed the next piece of data to WASAPI. So it will consume a bit more CPU. There is always a tradeoff between CPU and RAM. I think that 1-second buffer is reasonable. Maybe I will make it configurable in the future.

    Sameh,

    the fix working like a charm

    Glad to hear that. Thanks that your helped to find the bug!

    i want to suggest an additional option veg if u can work around it

    It doesn't sound like a direct responsibility of Sound Keeper for me. But I'll keep in mind this suggestion for the future.

    sneakytiki,

    but it seems you have inadvertently fixed my issue with this latest update, everything seems to be working perfectly now, thanks for all your work!

    All the thanks go to Sameh that helped to debug this issue recently =)

  35. #287
    Sameh

    VEG,
    u welcome , thank u for ur great efforts on developing this tool

    --
    for my suggestion , i think that the main goal of the soundkeeper is to keep the digital device away from sleeping
    and it should overcome the windows display screen turning off of the soundbar / digital device which prevent the soundkeeper app from its goal
    while the audio device turning off after the idle time its gone to the sleep mode cause its not rec any stream from the app , which we can overcome by my suggestion to keep the device always on
    yea we can easily disable the display turning off option . but it will be great addition option if u did it

    thanks again for ur help

  36. #289
    VEG Author

    I added this idea to my backlog, but don't expect it to be implemented soon. There are dozens of ideas of improvements just for this project alone, and I also have a lot of other projects that are waiting for their time, some of them are even unreleased yet. Most of the ideas from the backlog stay untouched or are in unfinished state for years, unfortunately 😞

    Sound Keeper was planned as a simple tool without settings at all. It was working fine for me without any changes for years, but as it turned out, other audio hardware of other people required a bit other stream types to make this workaround working, so some settings started to appear, and now there are so many of them that I still didn't update this page to properly document all of them 😊

    The next feature from the backlog that I'd like to implement is specifying different settings for different audio outputs since it's not like one size fits all situation. Also it would be nice to introduce some lightweight GUI for it, so you could easily try different settings to quickly find out what works best for you. I don't want to choose the simplest route and want to avoid using heavy GUI frameworks, but it requires much more time for implementation. At least, people won't be upset that a tiny 20KB utility turned into a 100MB monstrosity (.NET MAUI, I'm looking at you), and I enjoy writing tiny programs much more, even though it takes much more time =) Also, I want to turn Sound Keeper into a service so it starts to work even before you log in into system and even the first login sound won't be cut.

    After this, I consider adding Smart Sleep feature that would replace or complement standard Windows Sleep capabilities. Your suggestion perfectly fits the Smart Sleep feature, it can be one of its modes. But it's an idea for rather far future. There are no specific plans when it will be implemented.

    Meanwhile, maybe you could just consider connecting your soundbar directly to your PC so you won't depend on monitor state? 😉

    P.S. While writing this comment, figured out that emoji wasn't supported by the DB of this blog. Fixed this 🙃

  37. #290
    Sameh

    Running the app as a service is a good hint to catch the early sounds
    ---
    my soundbar ( Samsung Q700A ) connected directly to the pc through hdmi cable
    thats why the windows defines it as a display screen

  38. #291
    Thomas

    Does the killing of the program when muting it have to be mandatory? To limit Sound Keeper to my soundbar I'm thinking about using a program (EarTrumpet) to mute Sound Keeper when the soundbar isn't the default program. But it obviously fails a bit...

  39. #292
    VEG Author

    Thomas, well, I just thought that this feature could be useful for somebody who wants to exit Sound Keeper using some GUI, and there is no option to disable this behavior. I'll think what to do with it. Maybe I'll just remove this feature if nobody actually uses it.

  40. #293
    Thomas

    I agree it could have a use but if it could be made optional it'd really help out in my case

  41. #294
    VEG Author

    Thomas, I made a beta build that has this feature disabled. I didn't decide what to do with your use case in the next release yet, but at least you can use the beta for now =)

  42. #295
    Thomas

    You are awesome, you know that? Thanks!

  43. #296
    Wicaksono

    You're a lifesaver!

    I've been struggling with my bluetooth speaker and my laptop.
    While using Windows 10, everything's fine. The bluetooth speaker still connected when my laptop is on the idle mode.

    But when I upgraded to Windows 11, the bluetooth speaker automatically disconnected when my laptop is on the idle mode.
    And for reconnect, I must turn off the bluetooth speaker and then turn on again.
    I cannot reconnect just using my laptop, I don't know why.
    It was frustrating, I tried different Driver etc etc, still cannot fix the problem.

    And then I discover your software, I just put Sound Keeper on my startup and then everything works fine!

    Thank you so much!

  44. #297
    kinson

    Hi VEG
    i found that when i use sound keeper
    the atmos setting in sound setting(the one you can chose how many speaker do you have) will be reduce from 7.1 to 2.1. and i cant change it anymore.

  45. #298
    kinson

    sorry for the last rude message
    i found that only happened when i choose 2.1 PCM for first and i wanna change back to atmos,
    that will happened。

    appreciate the apps,
    MY lg c2 finally wont black out
    after tons and tons google
    you are truly my saver。

  46. #299
    VEG Author

    kinson, so your issue is resolved now?

  47. #300
    Kinson

    Hi veg
    As far as i dont change from atmos to 7.1 or 5.1 or 2.1
    Everything working fine
    If i change i need to reboot pc again
    But sofar is working fine👍👍

Comments are temporarily closed.