Files
terebi/TODO.md
T

22 lines
2.6 KiB
Markdown

- [x] add miruro streaming support
- [x] investigate and fix audio when streaming from miruro - audio seems to crackle (not for youtube i think; only for miruros)
- [x] add chrome cast support — implemented; verify playback, captions and A/V sync on a physical Cast device
- [x] fix premature receiver-launch timeout: reports failure even though Chromecast subsequently connects and playback works
- [x] fix TV volume slider jitter: receiver updates appear to compete with local volume adjustments
- [x] investigate and reduce slow buffering after seeking in YouTube videos while casting, compared with local playback — reuse probed inputs and cache completed segments; confirm perceived improvement on TV
- [x] fix Miruro Cast upstream overfetch: select HLS streams and share bounded video/audio packet buffering — verify sustained playback on TV
- [ ] styling/ui changes:
- move the captions button in the controls left of the compact mode icon
- move the chrome cast button from the top-right container to the controls left of the captions button (that is, it's new position)
- don't leave and empty spot where the captions were supposed to be if captions aren't available; buttons should be moved over in that case.
- the background is currently black in the player when casting (chrome cast), but we should follow the design language of the rest of the app.
- replace the current chrome cast icon with the apple tv casting icon.
- [ ] in the "choose what to play" screen, we should change the youtube button to general streaming
- we can figure out the stream and how to handle it from the url (i.e. if youtube url, handle as youtube stream; if miruro url, handle accordingly)
- [ ] evaluate playback optimization opportunities for YouTube and Miruro — measure benefits before changing behavior
- [ ] coalesce superseded, not-yet-started seeks in the player and Cast controls; preserve accumulated relative skips and play/pause ordering
- [ ] expand Cast H.264/AAC remux coverage with keyframe-aligned segments; preserve seek accuracy, timestamps and receiver compatibility
- [ ] reuse decoder/encoder state during sequential Cast playback; reset on random seeks and preserve independent keyframes and AAC continuity
- [ ] evaluate VideoToolbox hardware video decoding for native and Cast playback; retain software fallback for unsupported formats
- [ ] benchmark cold start, cached/uncached seeks and sustained playback separately to prioritize the actual bottlenecks
- do not enable Miruro HTTP persistence without preserving origin/header checks, or increase caches/shorten Cast segments without measuring the memory/request/codec tradeoffs