Commit Graph

4 Commits (master)

Author SHA1 Message Date
Mooneer Salem 1665b53ef7
CI (Windows): make collect-pgo-profile wait for real audio endpoints (#1483)
"Generate PGO data" fails intermittently when a VB-Cable / VAC endpoint
isn't enumerable at the moment FreeDV starts a UT: FreeDV pops a fatal
"device cannot be found" message box and aborts.

The old "Start Windows Audio Service" step only polled WMI
Win32_SoundDevice (driver nodes, not the MMDevice endpoints FreeDV
uses), had an operator-precedence bug in its until-condition
((A -and B) -or C), ran once minutes before the test, and never checked
the specific endpoints the job needs.

* ci/Wait-AudioDevices.ps1: restarts AudioEndpointBuilder/audiosrv and
  polls "Get-AudioDevice -List" (the active-endpoint surface FreeDV
  actually enumerates) until every required playback/recording endpoint
  is present, nudging the audio stack again halfway through and dumping
  full diagnostics before failing on timeout.
* ci/Invoke-PgoProfileCollection.ps1: runs the endpoint wait +
  GeneratePGOProfiles.ps1 and retries the whole thing up to 3x, since an
  endpoint can also drop mid-run right after SoX releases the capture
  device. Partial .profraw files are cleared between attempts.
* collect-pgo-profile now calls these; the Generate PGO data timeout
  goes 10 -> 25 min to cover the retries.
* GeneratePGOProfiles.ps1: best-effort wait for the endpoints before
  each of the TX and RX passes.

The identical "Start Windows Audio Service" step in the test job is left
as-is here; this change is scoped to collect-pgo-profile.


Claude-Session: https://claude.ai/code/session_01AYJXLpaEyPTsegX93QzE1a

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-07 23:57:12 -07:00
Mooneer Salem 6940f812e1
Windows: Fix test failures (#1300)
* Windows: increase audio block time to match other implementations.

* Set Communications category for FreeDV streams.

* Fix compiler errors.

* Another attempt at fixing compiler errors.

* Fix typo.

* Disable HW offload.

* Add PR #1300 to changelog.

* AudioClientProperties needs to be set before getting mix format.

* Try including intttypes.h.

* Try FALSE in GetBufferSizeLimits.

* Try enabling offload first, then fall back to no offload.

* Try installing audio drivers as administrator.

* Fix syntax errors.

* Fix typo in script.

* Fix additional typo.

* Take wakeup time into account for timeout calculation.

* Fix incorrect cast.

* Use same method of retrieving cert as for Virtual Audio Cable.

* Update driver install script to create missing Registry key.

* Round up to next millisecond.

* Add basic implementation of IAudioClient3, no tuning of periods yet.

* Fix typo.

* Fix another compiler error.
2026-04-23 10:58:10 -07:00
Mooneer Salem 566fe625d9
Reenable Windows on ARM builds for FreeDV. (#1297)
* Enable Windows on ARM builds for FreeDV.

* Use test branch to make sure no other problems compiling.

* Force certificate store creation to work around CI failure.

* Fix typo.

* Fix syntax errors.

* Choose the correct installer to use.

* Fix rename.

* Disable Windows on ARM CI testing.

* Revert "Use test branch to make sure no other problems compiling."

This reverts commit e6be639275.

* Add PR #1297 to changelog.

* Cleanup driver setup in CI environment.

* Add debugging.

* Fix VAD path.

* Trust certificate prior to install.

* Need to run devgen first.

* Install WDK.

* Find location of devgen.exe.

* Fix syntax errors.

* Try shorter path for search.

* Last ditch effort to find devgen.exe.

* Debugging: output all Windows SDK files.

* Remove dereference to devgenpath to force command output to print.

* Retry filter.

* Figured out actual path to use for devgen.exe.

* Use GH Action way of referencing environment variables.

* Add quotes around devgen.exe path.

* Need to add & to the beginning of command.

* /add, not add.

* Try 4.70 version of VAC.

* Forgot .zip.

* CI cleanup.

* Update signed Windows release script.

* No need to install PyTorch for Windows tests.

* Use windows-2025 to be more in line with Windows ARM runners.

* Forgot to update excludes.

* Revert to windows -2022.
2026-04-20 22:23:19 -07:00
Mooneer Salem 3917ef922b
CI and GitHub cleanup. (#1271)
* CI and GitHub cleanup.

* Add timeout for permissions setting.
2026-03-28 23:57:21 -07:00