feat: audio playback, device selector, i18n fixes

Audio:
- Add AudioPlayback with channel-based cpal output (avoids Send issue)
- Add AudioCapture stub with input device enumeration
- Audio gated behind 'audio' feature flag (needs ALSA/cmake)
- list_output_devices() / list_input_devices() for device selection
- StreamItem::Audio packets forwarded via mpsc channel to cpal callback

i18n:
- Replace all Chinese error messages with English in tsdb
- Replace all Chinese comments/doc strings with English in tscore
- All user-facing strings now in English

Build:
- Add Containerfile.build for containerized builds with audio deps
- CMAKE_POLICY_VERSION_MINIMUM=3.5 workaround for audiopus_sys
- tsclientlib audio feature enabled in workspace (needs cmake)
- 69 tests passing, clippy clean on both audio and non-audio builds
This commit is contained in:
ReTeamSpeak
2026-05-13 00:53:08 +09:00
parent 0d805269b5
commit 073095b06a
27 changed files with 483 additions and 222 deletions
+14
View File
@@ -0,0 +1,14 @@
FROM registry.fedoraproject.org/fedora:44
RUN dnf install -y \
gcc \
pkg-config \
cmake \
openssl-devel \
alsa-lib-devel \
&& dnf clean all
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"
WORKDIR /build