Я создал приложение, которое захватывает видеопоток в реальном времени, выполняет некоторую обработку видеопотока с помощью OpenGL ES и отображает его на экране в UIView
По существу поток данных:
AVCaptureSession -> AVCaptureDeviceInput -> AVCaptureVideoDataOutput -> буферы gl -> рисует в UIView
Я не использую AVCaptureVideoPreviewLayer для отображения контента.
Когда я отображаю видео с помощью этой системы в портретном режиме, она работает, как и ожидалось, видео имеет ту же ориентацию, что и дисплей.
Однако мое приложение предназначено для использования в ландшафте. В моем методе shouldAutorotateToInterfaceOrientation в суперпредставлении я разрешаю только UIInterfaceOrientationLandscapeLeft и UIInterfaceOrientationLandscapeRight.
Моя проблема в том, что видеопоток вращается. Телефон ориентирован на ландшафт, а видеопоток повернут на 90 градусов. Я бы хотел, чтобы видеопоток был в той же ориентации.
Я не понимаю, почему видео поток вращается, я думаю, что он пытается компенсировать ландшафтный режим, но я не знаю, как предотвратить это вращение. Есть идеи?
Спасибо
Mike
Спасибо за ответ VinceBurn.
В конечном итоге я опробовал методы в этом посте
И остановился на примере кода для willRotateToInterfaceOrientation: duration