mic/plans/aef651b6-b741-429f-ac7e-215...

2.5 KiB

작업 플랜

  • UUID: aef651b6-b741-429f-ac7e-215acb633181
  • 작업자: Codex
  • 생성 시각: 2026-06-02 16:18
  • 요청 요약: 서버 기준 Homebrew 판단, 상세 패킷 헤더, 음량 조절 제외 결정 반영

할 일

  • 현재 요청 확인
  • 서버 기준 변경 대상 확인
  • Homebrew 사용 위치 정리
  • 서버 지정 패킷 헤더 v1 후보 정리
  • 음량 조절 제외 결정 반영
  • 서버 문서와 설정 예시 갱신
  • 결과 검증
  • 완료 내용 정리

범위

  • 서버 방향성 문서와 서버 폴더 문서만 수정합니다.
  • 다른 AI가 작업 중인 client/와 클라이언트 구현 파일은 수정하지 않습니다.
  • C++ 소스 코드, 빌드 시스템, 테스트 코드는 만들지 않습니다.

결정 및 판단

Homebrew

  • Windows 네이티브 지원까지 포함하는 공통 기준으로는 Homebrew를 기본 의존성 관리 도구로 두지 않습니다.
  • macOS, Ubuntu, Rocky Linux 9 같은 Linux 환경에서는 개발 도구 설치 보조 수단으로 사용할 수 있습니다.
  • 4개 OS 공통 서버 구현 기준은 CMake와 의존성 최소화 또는 vcpkg 후보를 우선합니다.
  • 오디오 출력은 외부 설치 부담이 작은 miniaudio를 우선 후보로 둡니다.

패킷 헤더

  • 서버가 패킷 형식을 지정합니다.
  • 초기 헤더는 고정 길이 56바이트 후보로 둡니다.
  • 여러 송신기는 포트를 나누지 않고 sender_id, session_id, sequence, capture_sample_index로 구분합니다.
  • 헤더는 네트워크 바이트 오더를 사용하고, PCM payload는 PCM_S16LE을 기본 후보로 둡니다.

오디오 범위

  • 초기 목표는 수신한 A 송신기 데이터를 노트북 스피커로 출력하는 것입니다.
  • 송신기별 음량 조절은 현재 범위에서 제외합니다.
  • 다중 송신기 믹싱, UI, 실시간 gain 조절은 초기 재생 성공 이후 확장 후보로 둡니다.

완료 요약

  • docs/03-server-direction.md에 4개 OS 지원 방향, Homebrew의 위치, miniaudio 우선 후보를 정리했습니다.
  • 서버 지정 패킷 헤더 v1 후보를 56바이트 고정 헤더로 정리했습니다.
  • 초기 프레임 길이를 10 ms로 정리하고 server/server.conf.example에도 반영했습니다.
  • 서버 문서에서 Mac 전용 표현을 지원 OS 기준 표현으로 정리했습니다.
  • 송신기별 음량 조절은 현재 범위에서 제외했습니다.