Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

How to Stream GLSurfaceView Output from FaceUnity Using RootEncoder?

Open
#1,768 4 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
12/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
android, java, kotlin

Research direction

The payload names FaceUnity's CameraRenderer, BaseFURenderer, ICameraRenderer, OnGlRendererListener (onRenderAfter) and FUCameraConfig, all in the FULiveDemoDroid sample, and the GLSurfaceView they render into. It does not name any RootEncoder source file or API for accepting frames. The work is to decide how processed GL frames reach RootEncoder's video input, which needs OpenGL and encoder knowledge. Done would be a design answer or example code from a maintainer, not a small patch.

Written by the indexing model from the issue text.

Description

Hello,

I am using the RootEncoder library to stream content, typically from the phone's camera. Now, I need to apply some filters and effects, so I am integrating FaceUnity (FULiveDemoDroid).

FaceUnity renders using android.opengl.GLSurfaceView, and I would like to use this GLSurfaceView output for streaming with RootEncoder.

Implementation Details:

FaceUnity has a CameraRenderer class that extends BaseFURenderer and implements ICameraRenderer.

CameraRenderer uses a GLSurfaceView for rendering camera input with effects.

The camera is configured using FUCameraConfig, which sets properties like resolution, frame rate, and camera type.

The rendering process is managed by OnGlRendererListener, which provides callbacks such as onRenderBefore (for raw input data) and onRenderAfter (for processed data).

My Goal:
I want to take the output from GLSurfaceView (after FaceUnity has processed the camera feed) and stream it using RootEncoder.

Question:

  1. How can I access the processed frame data from FaceUnity's GLSurfaceView?
  2. What is the best way to pass this data to RootEncoder for streaming?

Any guidance or sample code would be greatly appreciated!
Thank you.

Dominant language
Kotlin
Stars
3k
Forks
946
Avg merge
4d 6h
Merged PRs (30d)
9

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from pedroSG94/RootEncoder

All issues in pedroSG94/RootEncoder

Similar issues

More Kotlin issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.