c6722d164b
- SignalingServer.send() never throws: a broken signaling connection drops the peer instead of killing the RTP reader thread via requestPli() - H264Decoder: assign the codec before configure/start (no orphaned instance on failure); feed() reports input-queue timeouts so the pipeline requests a keyframe instead of dropping the frame silently - Park offers that arrive without a surface as pendingOffer and configure on attachSurface(): a codec configured without a surface can never take one (setOutputSurface refuses it); the late configure sends a PLI - Forget destroyed surfaces (onSurfaceTextureDestroyed -> detachSurface) - Show the status overlay again on later messages - Accumulate NAL bytes in ByteArrayOutputStreams, not boxed ArrayList<Int> - Delete the dead NSD reflection fallback (ResolutionListener never existed; the classic API is present from API 16 through 36) - Hold decoderLock around all MediaCodec calls (not thread-safe) and make requestPli thread-safe - Update RUNBOOK quirks (NSD, setOutputSurface) and MEMORY notes