Почему мой локальный видеопоток вращается во время звонков?


У нас есть туземец Android webrtc-на основе voip-приложения. Только в нашем Android приложении (в отличие от других платформ) local camera stream поворачивается после того, как некоторое время находится в вызове. Обычно это занимает около 10 секунд. Но иногда и больше, даже на минуту.
remote также будет вращаться stream, так что это не проблема rendering.
stream всегда поворачивается на 90 градусов по часовой стрелке в portrait orientation, но правильно в одном landscape orientation и вверх ногами в другом landscape orientation.
Через некоторое время stream будет снова повернулся к правильному orientation (и снова к прослушиваемому через некоторое время).
Я пробовал несколько revisions, начиная с раннего 8xxx до последнего (9125), все они имеют одну и ту же проблему. У Apprtc demo тоже есть проблема. Я тестировал на нескольких разных телефонах (хотя только на устройствах Samsung), и проблема существует на всех из них.

1 3

1 ответ:

Я столкнулся с той же проблемой, и я не нашел правильного решения, но есть обходной путь. Я обнаружил, что причиной ротации является обнаружение чрезмерного использования процессора, это приводит к изменению качества, и, похоже, есть какая-то ошибка в этой функциональности в реализации android. Поэтому я просто добавил peerConnectionConstraints.optional.add(new MediaConstraints.KeyValuePair("googCpuOveruseDetection", "false")); и это помешало этому вращению.