Internals
The parts of Viora that took real work. Each page is a deep dive into one subsystem - the problem it solves, the approach, and the specific gotchas that shaped the code.
Call lifecycleJoin → offer/answer → ICE → connected → hang up. The glare-avoidance rule and the exact message sequence.Media negotiationSDP munging for H.265 level and Opus stereo/FEC, codec preference ordering, and the per-encoder bitrate seeding that makes 4K HEVC actually work.Audio pipelineThree capture modes, the RNNoise native post-processor, the user gain stage, echo-cancellation trade-offs, and the hardware audio stack that rebuilds itself between calls.Video captureCamera2/Camera1 selection, resolution adaptation, pinch-zoom, and the recovery loop that survives backgrounding, camera theft, and unsupported formats.Screen sharingThe dedicated screencast source, device-audio capture, orientation follow, and why the PiP window is suppressed while you share.Picture-in-PictureEntering PiP on onUserLeaveHint, the action buttons, singleTask re-entry, and the theme-aware call palette.Stats & device loadThe zero-cost-when-closed stats loop, byte-delta bitrate, and the battery-temperature / power-draw device-load metric.Resilience & recoveryICE restart, lifecycle-correct capture pausing, leak fixes, malformed-payload hardening, and @Synchronized teardown.