Russian Qt Forum
Май 06, 2024, 20:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QT и камера под android  (Прочитано 3084 раз)
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, по крайне мере у меня так нормально и не заработали.

Буду благодарен за любую помощь, второй день мозг ломаю!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.041 секунд. Запросов: 21.