Как добавить видео GStreamer в текстуру Sceneform ModelRenderable? - PullRequest
0 голосов
/ 25 апреля 2019

Мне нужно накачать результаты видео GStreamer в текстуру ModelRenderable в Sceneform.

У меня есть код для каждой отдельной задачи. Я попытался выполнить рендеринг прямо из GStreamer на поверхность ExternalTexture, но получил ошибки из-за конфликтующего владельца текстуры Я могу опубликовать эти детали, если это необходимо, но использование отдельной конечной текстуры, похоже, решило эту проблему (при условии подтверждения).

На стороне Sceneform у меня есть ExternalTexture, SurfaceTexture и Surface, и я могу получить Canvas через ExternalTexture.getSurface (). LockHardwareCanvas ()

На стороне GStreamer я создал отдельную текстуру OpenGL в качестве места рендеринга.

Единственный способ получить доступ к текстуре Sceneform - это заблокировать Canvas и скопировать в него растровое изображение, которое, как я полагаю, будет , а не , будет аппаратным бликом и будет слишком медленно. Я вижу различные способы сделать копию текстуры GPU, но всем им нужно имя текстуры OpenGL для текстуры назначения, которое, насколько я могу судить, SceneForm не предоставляет никакого доступа.

Есть предложения? Я собираюсь погрузиться в источники Sceneform?

...