Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gst-plugins-base gst-plugins-base
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 645
    • Issues 645
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 88
    • Merge requests 88
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gst-plugins-basegst-plugins-base
  • Issues
  • #753

Closed
Open
Created May 15, 2020 by Lucas Stach@lynxeyeContributor

gldownload of RGB buffers broken on GLES 2.0 contexts

On GLES 2.0 contexts the only way to get the Pixel data is via glReadPixels. As per the spec this function supports only two valid format values: GL_RGBA and the format returned by GL_IMPLEMENTATION_COLOR_READ_FORMAT. Most GLES implementations allow the user to create GL_RGB textures, but will use an internal format of GL_RGBA, as that is what the hardware supports. As GL_IMPLEMENTATION_COLOR_READ_FORMAT is defined to return the preferred read format for the framebuffer object, those implementations will return GL_RGBA when asked for the read format, as this is the format that allows them to implement the glReadPixels with the least amount of data transformations.

This causes the format check in gst_gl_memory_read_pixels() to fail. So while the pipeline happily negotiated format=RGB, the gldownload is unable to download the pixel data.

Edited May 16, 2020 by Matthew Waters
Assignee
Assign to
Time tracking