Skip to content

Add USB tether transport with source-timed A/V - #29

Draft
YashasVM wants to merge 2 commits into
mainfrom
codex/usb-tether-av-sync
Draft

Add USB tether transport with source-timed A/V#29
YashasVM wants to merge 2 commits into
mainfrom
codex/usb-tether-av-sync

Conversation

@YashasVM

@YashasVM YashasVM commented Aug 5, 2026

Copy link
Copy Markdown
Owner

What changed

  • adds an Android USB tether/RNDIS transport mode using the existing single MediaCodec + AAC + MPEG-TS/SRT pipeline
  • adds Windows USB tether gateway detection and a 30 ms wired SRT profile in the OBS source
  • preserves decoded MPEG-TS source timestamps on one shared A/V timeline instead of replacing them with arrival time
  • bounds camera-control work at 16 queued commands with reject-newest overflow behavior
  • makes discovery restart generation-safe and makes USB startup wait for cable/tether availability
  • documents USB setup and physical acceptance measurements

Why

USB should provide a lower-jitter, lower-latency link without adding another phone encoder or re-encoding ISO video. The shared timestamp fix also addresses the existing A/V drift risk on both Wi-Fi and USB.

Validation

  • python -m pytest -q — 30 passed
  • Android :app:testDebugUnitTest :app:lintDebug :app:assembleDebug — passed, including native builds for arm64-v8a, armeabi-v7a, x86, and x86_64
  • pinned OBS 32.2.1 / FFmpeg 62 / Qt 6.8.3 plugin build — passed
  • ctest --test-dir obs-plugin/build -C Release --output-on-failure — native media clock test passed

Before merge

This stays draft until a physical Android phone/cable run records Wi-Fi-vs-USB p50/p95 latency, maximum A/V skew, a 30-minute 1080p60 soak, and five cable unplug/replug recoveries as required by the repository performance policy.

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b536f02c-a99b-41be-bffd-c9781a408cbb

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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