| 
							crafter
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 «  : Июля 13, 2016,  17:45 »  | 
								
								 | 
							  
							 
							Приветствую!
  Собрал на QT5.7 небольшой примерчик для захвата кадров из видео потока камеры, собственно наследовал свой класс от QAbstractVideoSurface, и в методе present(const QVideoFrame &frame) ловлю эти самые кадры. Вывожу кадры в qml через: VideoOutput {         anchors.fill: parent;         source: videoProducer;     } Так вот под виндой все работает замечательно, под android - падает. Прочитал, что под android изображение в метод present приходит не как массив, а в виде текстуры. Теперь, как советуют, пытаюсь получить id текстуры  GLuint textureId = copy.handle().toUInt() и в итоге приложение падает с ошибкой - call to OpenGL ES API with no current context (logged once per thread).
  Из ошибки понимаю что у этого потока нет OpenGL контекста, так вот собственно вопрос - как этому потоку, в метод bool QAbstractVideoSurface::present(const QVideoFrame &frame) передать этот самый OpenGL контекст? И опять же в каком потоке этот контекст установлен, в том где работает камера ,или может в том где происходит обработка qml VideoOutput?
  Кстати у QTых примеров для работы с камерой, тоже какая-то проблема с камерой под android, по крайне мере у меня так нормально и не заработали.
  Буду благодарен за любую помощь, второй день мозг ломаю! 
						 |