* athenad and webrtcd updates
* remove feature stream services from webrtcd split
* stream encoder thread
* reduce diff
* wire webrtc to livestream camera encoder
* request livestream camera switch service
* remove camera list in favour of init camera field
* remove cors
* clean
* remove unused
* remove extra try except
* add back exception trace
* add stream road camera info to stream cameras
* fix
* clean diff
* clean diff
* add testJoystick only on body
* fix camera list
* remove reference to future service
* encode all cameras and swap in video track in webrtc
* clean
* explicitly gate bridge send
* clean leftover
* initial idea
* add a watchdog to kill the process after disconnect or onroad
* start camerad and stream encoderd as well
* add message handler even without bridge
* remove carState when offroad
* transition to onroad works for body, kill for car not working
* turn off stream processes on started car
* cereal messaging sub field allow list, carparamspersistent, ping webrtcd to see when awake
* fix imports
* fix and increase max retries
* reduce max retries, increase timeout
* timeout on wait for connection
* remove cereal sub message and update process config to run on body ignition
* debounce 5s on teardown
* update error messages
* fix tear down crash
* clean
* clean
* fix lint
* add param that requests keyframe
* set keyframe request to false on cleanup
* timing and errors
* video_enabled option and ability to add video later
* remove loggerd changes from this PR
* video enabled default to on, clean identifier
* request keyframe on start regardless of video enabled or not
* move error handling additions to different PR
* add param that requests keyframe
* set keyframe request to false on cleanup
* clean
* timing and errors
* remove other changes
* clean diff
* clean diff
* clean up live adaptation params and functions
* better function names
* fix syntax
* remove unused var
* clean diff
- patch `aioice` to only get host address of active network interface (wlan0 when on wifi, ppp0 when not)
- use common webrtc session between `startStream` and `addIceCandidates`
- first time connection speed ups
- move imports to top of file to move delay to webrtcd server start up not first connection
- warm up webrtc stack by creating a webrtc connection object to import all submodule classes
* modeld: RL driving model with 3-file split
Split the driving model into vision + off_policy + on_policy ONNX
files and wire up the RL policy:
- 3-file model split (vision / off_policy / on_policy), replacing the
combined big_driving_policy/vision models
- compiler updates for the split models
- actually consume the policy action in modeld
- add desire state to the driving model
- model iterations (smoothness, off/on-policy weight updates)
* modeld: update driving model
* 1e72cf5a-785f-45ea-888f-28cdb14785de/100
* tinygrad hack
* fix parsing
* looser timing
* big
* Remove unnecessary modeld rebase changes
* Tighten modeld split cleanup
---------
Co-authored-by: Comma Device <device@comma.ai>
Co-authored-by: Armandpl <adpl33@gmail.com>
* bitrate controller
* ability to set the quality so a certain level, make message handler a switch case
* distinct bitrate levels and exponential backoff of raising bitrate
* add med level threshold
* fix
* fix
* simplify
* clean
* hardware: read network info without NetworkManager DBus
* hardware: simplify wpa_cli SSID escape decoding
* hardware: restore cellular block in get_network_type to match master
* hardware: factor wpa_cli helper for key=value parsing
* hardware: comment SSID byte conversion for keyfile match
* hardware: comment NM metered enum values
* hardware: use check_output for ip route and wpa_cli helpers
* hardware: read default route iface from /proc/net/route
* hardware: simplify default route iface parsing
* hardware: only check for metered == 1
* hardware: also look for *.nmconnection in /data/etc/NetworkManager/system-connections
* hardware: use nmcli for runtime metered guess on wifi
* socket
* cleanup
* poor
* lil more
* mv that
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* initial codex
* remove ISP delay from encode ms
* try something simpler
* not allowing increase bug
* decrease bitrate increase rate
* upsample only on consecutive good checks
* rearrange
* clean
* Revert frame timing processing time change
* clean
* remove bitrate option and just do it on --stream
* make set_bitrate a lot more simple
* clean default impl
* further cleaning
* struct for bitrate to pass ci
* refactor a bit
* add comment
* small clean
* add init()
* increase bitrate
* update ffmpeg message
* remove unnecessary include
* modify set_bitrate
* change to Param
* remove getInt helper; add back in diff pr
* reword unclear error message
* move webrtcd change to new branch
* athenad and webrtcd updates
* remove feature stream services from webrtcd split
* stream encoder thread
* reduce diff
* wire webrtc to livestream camera encoder
* request livestream camera switch service
* add frame timing headers
* rfctr
* diff
* clean
* remove camera list in favour of init camera field
* remove cors
* clean
* remove unused
* remove extra try except
* remove video_tracks unused
* add back exception trace
* add stream road camera info to stream cameras
* fix
* add back assert
* clean diff
* clean diff
* add testJoystick only on body
* fix camera list
* remove reference to future service
* video_tracks list add back
* encode all cameras and swap in video track in webrtc
* clean
* explicitly gate bridge send
* clean leftover
* rearrange video.py
* fix lint
* athenad and webrtcd updates
* remove feature stream services from webrtcd split
* stream encoder thread
* reduce diff
* wire webrtc to livestream camera encoder
* request livestream camera switch service
* remove camera list in favour of init camera field
* remove cors
* clean
* remove unused
* remove extra try except
* add back exception trace
* add stream road camera info to stream cameras
* fix
* clean diff
* clean diff
* add testJoystick only on body
* fix camera list
* remove reference to future service
* encode all cameras and swap in video track in webrtc
* clean
* explicitly gate bridge send
* clean leftover
* make local bodyteleop work still
* athenad and webrtcd updates
* remove feature stream services from webrtcd split
* remove cors
* clean
* remove unused
* remove extra try except
* add back exception trace
* clean diff
* clean diff
* add testJoystick only on body
* fix camera list
* remove reference to future service
* speedup slowest
* less setup
* rm som reset logging
* simpliy a lil more
* lil more
* down to 36s
* sleeeeeeep
* finishing touches
* oopsie
* ty fix
---------
Co-authored-by: Comma Device <device@comma.ai>