~/talk

When MediaProjection Isn't Enough

Talkat droidcon Berlin 2025 · 2025-09-24..09-26· [android]
links:none on file
slides:none on file

Claim: MediaProjection causes OS fragmentation and UX friction so a custom native in‑app recorder is built and shipped. Implementation uses pixel copy and root‑surface reflection to capture activity and dialogs at up to 60fps, a continuous mic stream with silence padding to avoid audio stitching, and MediaExtractor‑based muxing to combine separately encoded video and audio. Worked end‑to‑end in demo, required handling codec power‑of‑two resolutions, presentationTimeUs syncing, lifecycle ordering, and uploads via Firebase.

AI-written summary · about

  1. 0:00Introduction
  2. 6:46Improving video feedback
  3. 13:58Abandoning MediaProjection
  4. 17:10Custom solution requirements
  5. 22:51Dialogue overlay with reflection
  6. 26:50Debugging media codec sync
  7. 33:53Lifecycle and stream sync
  8. 37:25Balancing size and quality
  9. 38:49Live demo
  10. 42:29Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.