Skip to content

Enable transport agent and renderer to optionally support OpenGL#553

Closed
alessandrod wants to merge 3 commits intoEricssonResearch:masterfrom
alessandrod:opengl
Closed

Enable transport agent and renderer to optionally support OpenGL#553
alessandrod wants to merge 3 commits intoEricssonResearch:masterfrom
alessandrod:opengl

Conversation

@alessandrod
Copy link
Contributor

The following patches enable the transport agent and renderer to optionally work with GLMemory. This is part of my work to make OWR offload most video processing to OpenGL in order to improve performance.

This PR doesn't yet include the changes to enable OpenGL at the source, since doing that currently works with H264 but breaks VP8 encoding. I'm submitting this now since these commits are independent from the source changes and don't break anything, so people can start reviewing them.

Use glvideoflip and glcolorbalance. This change assumes that the sink returned
by ::get_sink can deal with video/x-raw(memory:GLMemory) like glimagesink,
which is what the default implementation uses.

Alternatively non-GL sinks can still be used by returning a bin that includes
the gldownload element from ::get_sink.
Add gldownload before the encoder to allow both OpenGL and non-OpenGL sources
This allows the transport agent to potentially negotiate and work with OpenGL
memory.
@alessandrod
Copy link
Contributor Author

Something I forgot to mention is that for this to work you need gst master as of today (Feb 1st).

@superdump
Copy link
Contributor

Bumped to gst* master in cerbero and merged. All looks straightforward. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants