Avoid copying buffer twice
ClosedPublic

Authored by jgrulich on Mar 25 2020, 9:53 AM.

Details

Summary

Previously we copied frames first to a temporary QImage and then to PipeWire buffer. This shouldn't be
necessary as we can copy frames directly to PipeWire buffers which should be much more effecient.

BUG: 419209

Diff Detail

Repository
R838 Flatpak Support: KDE Portal for XDG Desktop
Branch
screensharing-improvements
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 24201
Build 24219: arc lint + arc unit
jgrulich created this revision.Mar 25 2020, 9:53 AM
Restricted Application added a project: Plasma. · View Herald TranscriptMar 25 2020, 9:53 AM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
jgrulich requested review of this revision.Mar 25 2020, 9:53 AM
zzag added a subscriber: zzag.Mar 25 2020, 1:32 PM
zzag added inline comments.
src/screencaststream.cpp
549–563

Do we actually need an fbo?

meven added a subscriber: meven.Mar 25 2020, 1:49 PM

Seems good to me

zzag accepted this revision.Mar 25 2020, 1:55 PM
This revision is now accepted and ready to land.Mar 25 2020, 1:55 PM
This revision was automatically updated to reflect the committed changes.
ahiemstra added inline comments.
src/screencaststream.cpp
549–563

The entire framebuffer is superfluous, it is never used. glGetTexImage() reads from the currently bound texture, which in this case is "texture" since you bind it at line 546.

zzag added inline comments.Mar 26 2020, 11:36 AM
src/screencaststream.cpp
549–563