-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 2cf6bef
Showing
28 changed files
with
2,426 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: Build | ||
on: [push, pull_request] | ||
|
||
jobs: | ||
build: | ||
name: Build | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
- name: Build | ||
run: | | ||
mkdir -p ./build && | ||
docker build --tag pulseaudio-win32 --build-arg "PAW32_VERSION=$(echo "$(git describe --always --tags)" | sed -e "s/^v//g")" ./src && | ||
docker save pulseaudio-win32 | | ||
tar -xOf - --wildcards '*/layer.tar' | | ||
tar -xvf - -C ./build | ||
- name: Upload (pasetup.exe) | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: Installer (pasetup.exe) | ||
path: build/pasetup.exe | ||
- name: Upload (pulseaudio.zip) | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: Binaries (pulseaudio.zip) | ||
path: build/pulseaudio.zip | ||
- name: Upload (pasvc.zip) | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: Binaries (pasvc.zip) | ||
path: build/pasvc.zip |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
name: Release | ||
on: | ||
push: | ||
tags: | ||
- 'v*' | ||
|
||
jobs: | ||
release: | ||
name: Release | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
- name: Build | ||
run: | | ||
mkdir -p ./build && | ||
docker build --tag pulseaudio-win32 --build-arg "PAW32_VERSION=$(echo "$(git describe --always --tags)" | sed -e "s/^v//g")" ./src && | ||
docker save pulseaudio-win32 | | ||
tar -xOf - --wildcards '*/layer.tar' | | ||
tar -xvf - -C ./build | ||
- name: Release | ||
id: release | ||
uses: actions/create-release@v1 | ||
env: | ||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | ||
with: | ||
tag_name: ${{github.ref}} | ||
release_name: ${{github.ref}} | ||
draft: true | ||
prerelease: false | ||
- name: Release (pasetup.exe) | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | ||
with: | ||
upload_url: ${{steps.release.outputs.upload_url}} | ||
asset_name: pasetup.exe | ||
asset_path: build/pasetup.exe | ||
asset_content_type: application/vnd.microsoft.portable-executable | ||
- name: Release (pulseaudio.zip) | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | ||
with: | ||
upload_url: ${{steps.release.outputs.upload_url}} | ||
asset_name: pulseaudio.zip | ||
asset_path: build/pulseaudio.zip | ||
asset_content_type: application/zip |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2021 Patrick Gaskin | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
# pulseaudio-win32 | ||
|
||
An up-to-date PulseAudio build for Windows with an installer, service, and other | ||
improvements. | ||
|
||
### Features | ||
|
||
- Various fixes and improvements. | ||
- Standalone. | ||
- Optional installer. | ||
- Optional Windows Service wrapper. | ||
- Working `pactl`/`pacat`. | ||
- Working modules. | ||
- HTML documentation. | ||
- Works on Windows Vista and later. | ||
|
||
<!-- TODO: unix sockets for the Windows service? --> | ||
|
||
### Limitations | ||
|
||
- There are still some hard-coded paths which don't automatically relocate to | ||
the installation directory. This mainly affects the documentation. It also | ||
affects `*.pa.d` when running from the zip file (the installer will fix the | ||
path). | ||
- Unix sockets aren't currently used even when supported. Connections to the | ||
system instance are done over TCP by default. | ||
- Locale files aren't currently included. | ||
|
||
### Building | ||
|
||
```bash | ||
mkdir -p ./build && | ||
docker build --tag pulseaudio-win32 --build-arg "PAW32_VERSION=$(echo "$(git describe --always --tags --dirty || echo unknown)" | sed -e "s/^v//g")" ./src && | ||
docker save pulseaudio-win32 | | ||
tar -xOf - --wildcards '*/layer.tar' | | ||
tar -xvf - -C ./build | ||
``` | ||
|
||
### Troubleshooting | ||
|
||
- **Service** | ||
- **Error: The process terminated unexpectedly**<br> | ||
Check PulseAudio's log. Note that it gets truncated every time PulseAudio | ||
starts. | ||
- **Error: The environment is incorrect**<br> | ||
Something went wrong when finding the AppData folder. This error shouldn't | ||
happen. | ||
- **Error: The specified service has been marked for deletion**<br> | ||
If you have `services.msc` open, close it and try again (it prevents service | ||
deletions from working properly). Otherwise, try killing `pulseaudio.exe` | ||
and `pasvc.exe`. | ||
- **Installer** | ||
- **The service does not get installed and/or started** | ||
Try installing it manually from the command line with `pasvc install`. | ||
- **The firewall rules do not get installed** | ||
Try installing it manually from the command line with `pasvcfw install`. | ||
- **PulseAudio** | ||
- **Error: cannot create wakeup pipe**<br> | ||
If you are starting `pulseaudio.exe` from another process, ensure the | ||
`SystemRoot` environment variable is defined. | ||
|
||
### Silent installation | ||
|
||
The installer uses Inno Setup 6 and supports the usual flags (e.g. `/SILENT`, | ||
`/VERYSILENT`). | ||
|
||
The following components are available (all are selected by default) and can be | ||
passed as a comma separated list to `/COMPONENTS=`: | ||
|
||
- `pulseaudio` (required) - PulseAudio daemon, modules, and tools | ||
- `documentation` - HTML documentation. | ||
- `service` - Windows Service. | ||
- `uninstaller` - Uninstallation support. | ||
|
||
The following tasks are available when the `service` component is selected and | ||
can be passed as a comma separated list to `/TASKS=`: | ||
|
||
- `firewall` - Add a firewall rule (4713/tcp). | ||
- `firewall/deny` - Deny all external connections. | ||
- `firewall/allow` - Allow external connections on private networks. | ||
- `firewall/allowall` - Allow all external connections. | ||
- `firewall/allowalledge` - Allow all external connections including edge | ||
traversal. | ||
- `svcmodload` - Allow loading additional modules (note that this is a potential | ||
security risk). | ||
|
||
The included configuration files in the installation directory will be | ||
overwritten on install and deleted on uninstall. To preserve your changes, place | ||
your custom configuration files in `*.pa.d\*.pa` and `*.conf.d\*.conf`. | ||
|
||
Uninstalling will remove everything except for the log and state data for the | ||
service if used. | ||
|
||
### Notes | ||
|
||
While this repository is licensed under the MIT license, the icon and build | ||
output is licensed under the LGPL like PulseAudio itself (the PulseAudio build | ||
isn't linked to GPL libraries). |
Oops, something went wrong.