mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 21:07:34 +00:00

This creates (and installs upon WebContent startup) a platform plugin to play audio data. On Serenity, we use AudioServer to play audio over IPC. Unfortunately, AudioServer is currently coupled with Serenity's audio devices, and thus cannot be used in Ladybird on Lagom. Instead, we use a Qt audio device to play the audio, which requires the Qt multimedia package. While we use Qt to play the audio, note that we can still use LibAudio to decode the audio data and retrieve samples - we simply send Qt the raw PCM signals.
50 lines
2.2 KiB
YAML
50 lines
2.2 KiB
YAML
parameters:
|
|
os: 'Linux'
|
|
|
|
steps:
|
|
- checkout: self
|
|
persistCredentials: true
|
|
|
|
- ${{ if eq(parameters.os, 'Serenity') }}:
|
|
- script: |
|
|
set -e
|
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
|
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-15 main'
|
|
sudo apt-get update
|
|
sudo apt-get install clang-format-15 ccache e2fsprogs gcc-12 g++-12 libstdc++-12-dev libmpfr-dev libmpc-dev ninja-build qemu-utils qemu-system-i386 unzip lld
|
|
displayName: 'Install Dependencies'
|
|
|
|
- ${{ if eq(parameters.os, 'Linux') }}:
|
|
- script: |
|
|
set -e
|
|
sudo apt-get purge -y clang-12 clang-13 clang-14 gcc-10
|
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
|
sudo add-apt-repository 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-15 main'
|
|
sudo apt-get update
|
|
sudo apt-get install ccache gcc-12 g++-12 clang-15 libstdc++-12-dev ninja-build unzip qt6-base-dev qt6-tools-dev-tools libqt6svg6-dev qt6-multimedia-dev libgl1-mesa-dev
|
|
|
|
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-15 100
|
|
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-15 100
|
|
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100
|
|
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100
|
|
|
|
wget https://github.com/WebAssembly/wabt/releases/download/1.0.23/wabt-1.0.23-ubuntu.tar.gz
|
|
tar -xzf ./wabt-1.0.23-ubuntu.tar.gz
|
|
rm ./wabt-1.0.23-ubuntu.tar.gz
|
|
displayName: 'Install Dependencies'
|
|
|
|
- ${{ if eq(parameters.os, 'macOS') }}:
|
|
# macOS ships an ancient Bash 3.x by default
|
|
- script: |
|
|
set -e
|
|
brew update
|
|
brew install coreutils bash ninja wabt ccache unzip qt llvm@15
|
|
displayName: 'Install Dependencies'
|
|
|
|
- ${{ if eq(parameters.os, 'Android') }}:
|
|
- script: |
|
|
set -e
|
|
sudo apt-get install ccache gcc-12 g++-12 libstdc++-12-dev ninja-build unzip
|
|
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100
|
|
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100
|
|
displayName: 'Install Dependencies'
|