Пользователи смартфонов Google Nexus 5X столкнулись с тем, что некоторые сторонние приложения, работающие с камерой, выводят на экран перевернутое изображение.
Эта проблема уже наблюдалась с фронтальной камерой Nexus 6. Имеет место аппаратная или программная проблема? Источник решил внести ясность, и оказалось, что отчасти обе.
Требованиями совместимости с Android предусмотрена установка камеры в смартфоне так, чтобы длинная сторона датчика была параллельна длинной стороне корпуса. При этом смартфоном удобнее пользоваться как фотоаппаратом, поскольку кадр и экран имеют совпадающую пейзажную ориентацию. Однако какая сторона датчика должна быть сверху, в требованиях не определено. В большинстве случаев производители ставят датчик так, что первая срока кадра оказывается сверху, но специалисты LG и Google решили поступить иначе. Как утверждается, к этому их побудила необходимость плотнее расположить компоненты внутри корпуса.
Учитывая, что ситуация с перевернутым датчиком встречается очень редко, вполне понятно, почему разработчики программ не предусмотрели ее обработку. В то же время, в первой версии Camera API разработчику достаточно воспользоваться методом setDisplayOrientation() для проверки ориентации датчика и при необходимости повернуть изображение. Поскольку ошибка легко исправляется, можно надеяться, что разработчики программ не замедлят это сделать. В случае программ, использующих API Camera2 даже в этом простом действии нет необходимости, поскольку API самостоятельно проверяет правильность ориентации при выводе изображения для предварительного просмотра.
Источник: XDA Developers