On this week's episode, we break down how camera APIs work in Android and why third-party camera apps just can't match the features and quality produced by the stock camera. Long story short, it's a mess. What gives? And what's being done about it? We're joined by https://github.com/MHShetty (Mohit Shetty), a developer behind https://play.google.com/store/apps/details?id=app.grapheneos.camera.play&hl=en_US&gl=US (Secure Camera), the camera app on GrapheneOS and available to everyone on the Play Store. 01:48 - How does hardware fragmentation make camera app development on Android inherently more challenging than on iOS? 03:52 - Was there anything Google could have done in the early days to make things better? 08:21 - Why don't OEMs bother with making sure third-party camera apps work the same as the stock camera app? 12:27 - What are some features that OEMs can't expose to third-party camera apps through Android's camera API? 17:20 - How does Android's camera architecture work? What is Camera HAL 3? 20:23 - How will Google Requirements Freeze (GRF) affect camera HAL versioning? 24:11 - How do third-party camera apps interface with multiple cameras? 29:28 - What is the Camera2 API? 32:52 - What is CameraX and what can (and can't) it do?
Android Bytes is hosted by Mishaal Rahman, Senior Technical Editor, and David Ruddock, Editor in Chief, of Esper. https://twitter.com/MishaalRahman (Mishaal's Twitter) https://twitter.com/RDRv3 (David's Twitter)
For more about Esper, visit us. https://blog.esper.io/ (Esper Blog) https://www.esper.io/ (Official Esper site) https://www.esper.io/book-demo (Book an Esper Demo)
Our music is "https://home96.bandcamp.com/track/19 (19)" by https://twitter.com/RNDYGFFE (HOME) and is licensed under https://creativecommons.org/licenses/by/3.0/ (CC BY 3.0).