RTCMTLVideoView не поддерживается в iPhone 11 серии
Я работаю над видеозвонками с использованием WebRTC. Я использовал RTCMTLVideoView для рендеринга удаленного видео в приложении. За исключением устройств серии iPhone 11, все остальные устройства работали нормально.
#if arch(arm64) // Using metal (arm64 only)
remoteRenderer = RTCMTLVideoView(frame: showInView.bounds)
#endif
Я проверяю проблему в iPhone 11 Pro 13.3.1, iPhone XS 13.2.3 и iPhone 6 12.3. Но только iPhone 11 сталкивается с этой проблемой. Есть ли у нас какие-либо решения для этой проблемы удаленного рендеринга видео?
2 ответа
Приятно видеть, что я не схожу с ума, и это действительно проблема! Не совсем уверен, почему ваши и мои сообщения были отклонены.
Я перешел на использование RTCEAGLVideoView на моем iPhone XS iOS 13.4. Это работает для локального рендеринга. Я не могу заставить работать удаленный рендеринг и не уверен, связана ли проблема с WebRTC или с моей реализацией. Однако RTCMTLVideoView явно не работает.
На этой неделе я надеюсь начать погружаться в исходный код объекта C WebRTC, чтобы посмотреть, смогу ли я что-нибудь найти.
РЕДАКТИРОВАТЬ: Я отправил отчет об ошибке в Google. Не могли бы вы (и любой другой, у кого возникла эта проблема) проголосовать за отчет об ошибке, чтобы мы могли получить Google как можно скорее? Благодарность!
РЕДАКТИРОВАТЬ: Итак, проблема заключалась в том, что версия webrtc для cocoapods устарела, и людям нужно вручную создавать структуру. Потом этот вопрос отпадает. Удачи всем!
Наконец, я смог решить проблему, заменив GoogleWebRTC на Cocoapods и обновив Manual WebRTC.framework.
Согласно дискуссии в сообщении об ошибке WebRTC, GoogleWebRTC от Cocoapods DEPRECATED и больше не обновляется с новыми изменениями.
Воспользуйтесь этой ссылкой, чтобы создать ручную структуру для WebRTC из последнего источника, удалить свой GoogleWebRTC из модулей и добавить вручную WebRTC.framework.
Спасибо, John Paul за своевременную помощь.