Files
terebi/TODO.md
T

2.6 KiB

  • add miruro streaming support
  • investigate and fix audio when streaming from miruro - audio seems to crackle (not for youtube i think; only for miruros)
  • add chrome cast support — implemented; verify playback, captions and A/V sync on a physical Cast device
    • fix premature receiver-launch timeout: reports failure even though Chromecast subsequently connects and playback works
    • fix TV volume slider jitter: receiver updates appear to compete with local volume adjustments
    • 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
    • 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