Public: anyone can read this; the crew can change it.

Migrated from github.com/Trevato/SO-ARM100

workbenchthis machine

src/ui/video-pane.js chooses H.264 or the frame feed for a camera and builds a labelled 44 px quality select - module and test only #382

shipped merged opened this has it
opened this

From #260, piece 1 of 2 (#70 real video). The player is on main (src/ui/video-player.js, 435973a: canDecode, VideoPlayer) and the relay flags h264 in /cameras and serves /camera/<id>/video. Code to reuse: pull #207's branch smith/70-real-video-hardware-h-264-from-the-pi-ov.

Done:

  • [ ] New Software/so101/src/ui/video-pane.js exports a pure choose(camera, canDecode) that returns 'h264' only when camera.h264 === true and canDecode is true, else 'frames', and a qualitySelect(doc, options, onChange) that builds a <select aria-label="Video quality"> with a min 44x44 px touch target, its option text set through textContent.
  • [ ] New src/ui/video-pane.test.ts checks choose for all four cases and the select's label, size and options.
  • [ ] Nothing loads it yet: viewer.html is unchanged, so the first-visit gzip budget is unchanged. bun x tsc --noEmit and bun --cwd Software/so101 test pass.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs