Skip to content

Docs: Add spec for RTSP backchannel audio (talk-to-camera) feature#3

Open
mretallack wants to merge 4 commits into
mainfrom
feature/audio-output-options
Open

Docs: Add spec for RTSP backchannel audio (talk-to-camera) feature#3
mretallack wants to merge 4 commits into
mainfrom
feature/audio-output-options

Conversation

@mretallack
Copy link
Copy Markdown
Owner

  • requirements.md: User stories for push-to-talk, detection, codec selection
  • design.md: Architecture with BackchannelClient, G711Encoder, BackchannelManager
  • tasks.md: 10 implementation tasks in 3 phases

- requirements.md: User stories for push-to-talk, detection, codec selection
- design.md: Architecture with BackchannelClient, G711Encoder, BackchannelManager
- tasks.md: 10 implementation tasks in 3 phases
…t tests

- Changed from push-to-talk to toggle (tap on/tap off)
- Floating mic icon top-right, crossed-out when inactive
- Auto-disable on app defocus (onPause)
- Added testing strategy: unit tests with high coverage, integration test
- Tests in same location as existing, run in CI
- G711Encoder: μ-law and A-law encoding for audio
- RtpPacket: RTP packet construction with TCP interleaved framing
- BackchannelClient: RTSP signaling (DESCRIBE/SETUP/PLAY/TEARDOWN)
  with Digest auth, SDP parsing for sendonly tracks, handles
  interleaved RTP frames during response reading
- BackchannelManager: coordinates AudioRecord capture, encoding,
  and RTP sending on background thread
- UI: floating mic button (top-right), toggle on/off, auto-stops
  on app defocus, mutes playback while mic active to prevent feedback
- Uses VOICE_COMMUNICATION audio source for echo cancellation
- 51 new unit tests, 1 integration test
- RECORD_AUDIO permission added to manifest
- Mute VLC mediaPlayer volume immediately (not just on next play())
- Skip interleaved RTP frames when reading RTSP responses
- Reuse auth nonce across DESCRIBE/SETUP/PLAY requests
- Add VOICE_COMMUNICATION audio source for echo cancellation
- Increase mic gain to 8x for audible output
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant