Add web mixer with native input volume and output selection
This commit is contained in:
+29
-2
@@ -3,12 +3,16 @@
|
||||
## 완료
|
||||
|
||||
- 입력값 검증, 연결 없는 출력 전환 중단, 서비스 실패 시 설정 복구,
|
||||
설치 백업 복구/심볼릭 링크 보존, 등록 장비 재페어링 방지 등 **자동 검사 11개 통과**.
|
||||
설치 백업 복구/심볼릭 링크 보존, 등록 장비 재페어링 방지,
|
||||
입력 PCM 제한, 출력 볼륨 변경 거부, HTTP 토큰/동일 출처 검사,
|
||||
활성 AirPlay 속성 파싱, 영구 등록 실패 처리 등 **자동 검사 23개 통과**.
|
||||
- Bash 문법 검사와 ShellCheck 통과.
|
||||
- Python 문법 확인: macOS Python 3.14, 보드의 Debian Python에서 확인.
|
||||
- systemd의 새 `radxa-bt-output.service` 검증 통과.
|
||||
- 배포할 Git bundle에서 **새 작업 디렉토리로 복제하고 실제 보드에서 컴파일 성공**.
|
||||
- Shairport Sync: `5.5.2-AirPlay2-smi10-OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc`
|
||||
- Shairport Sync 웹 버전: `5.5.2-dirty-AirPlay2-smi10-OpenSSL-Avahi-ALSA-soxr-metadata-dbus-sysconfdir:/etc`
|
||||
- 포함된 네이티브 볼륨 패치를 적용한 실제 보드 빌드 및 설치 성공.
|
||||
`dirty`는 해당 패치를 적용했기 때문에 표시됩니다.
|
||||
- NQPTP: 1.2.8 / 공유 메모리 규격 10.
|
||||
- 기존 얕은 Git 복제에서 만든 bundle의 누락 이력을 발견하고,
|
||||
완전한 이력이 있는 독립 bundle로 교체함. 최종 SHA-256은 manifest에 기록.
|
||||
@@ -17,6 +21,29 @@
|
||||
- 최종 보드 설정: Bluetooth 출력, Bose QC Headphones.
|
||||
- 보스 PLAYBACK(SBC 48 kHz)과 아이폰 CAPTURE(SBC 44.1 kHz) 동시 연결 확인.
|
||||
- 기존 Wi-Fi 안정화 옵션 `he_on=N`, `ps_on=N` 유지 확인.
|
||||
- 웹 서비스 자동 시작, 브라우저의 AirPlay/휴대폰 입력 볼륨과 음소거,
|
||||
DAC 선택을 실제 API와 장치 속성으로 확인.
|
||||
- 공통 감쇠 −3 dB, 명령행 제어 유지, JavaScript/Bash 문법 검사 통과.
|
||||
|
||||
## Bluetooth 끊김 조사
|
||||
|
||||
사용자가 iPhone Bluetooth → 보스 헤드폰 경로의 끊김을 보고했습니다.
|
||||
iPhone 수신 RTP 패킷 손실과 입력 재생 underrun이 반복됐고,
|
||||
헤드폰 출력 alsaloop에서 capture overrun도 한 번 확인됐습니다.
|
||||
Wi-Fi는 5 GHz, CPU 부하는 낮았으며 원인은 아직 확정하지 않았습니다.
|
||||
출력 버퍼를 200 ms에서 500 ms로 늘려도 사용자가 끊김을 확인했습니다.
|
||||
송신을 멈춘 약 18초 동안에는 입력 패킷 손실이 없었고, 송신 재개 후 다시 발생했습니다.
|
||||
SBC 송신 품질을 high에서 medium으로 줄인 뒤 사용자는 정상 청취라고 답했지만,
|
||||
같은 시점에 Radxa의 보스 출력 PCM이 없고 연결 재시도 중인 것을 발견했습니다.
|
||||
직접 연결 경로의 소리일 수 있어 이 응답만으로 해결됐다고 판단하지 않습니다.
|
||||
medium과 500 ms 버퍼를 저장했고 출력 등록 복구 후 다시 검증해야 합니다.
|
||||
이후 컨트롤러에서 HCI 명령 `0x0c1a`/`0x0408` 시간 초과와 BlueZ `NoReply`를
|
||||
확인했습니다. Bluetooth 서비스 재시작만으로 복구되지 않아 보드를 재부팅했습니다.
|
||||
SBC 품질 변경으로 컨트롤러 오류가 해결됐다고 보지는 않습니다.
|
||||
|
||||
보스는 현재 `Paired: yes / Bonded: no`인 임시 연결입니다. 영구 등록 시도가
|
||||
인증 실패하여 재부팅 후 보스 등록 유지가 검증됐다고 주장하지 않습니다.
|
||||
이미 영구 등록된 휴대폰 등록은 재부팅 후 유지됐습니다.
|
||||
|
||||
## 실제 청취로 확인한 범위
|
||||
|
||||
|
||||
Reference in New Issue
Block a user