[Bug 728872] New: GstGLBufferPool should avoid to allocate upload resources that are not going to be used for sure

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Apr 24 05:02:36 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=728872
  GStreamer | gst-plugins-bad | git

           Summary: GstGLBufferPool should avoid to allocate upload
                    resources that are not going to be used for sure
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: julien.isorce at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


I wonder if we could avoid our glbufferpool to init its pool->priv->upload when
the pipeline does not involve external elements that perform uploading, like
webkitvideosink.

Indeed our gl elements have their own gstglupload instance and call
gst_gl_upload_perform_with_buffer (filter/sink->upload, ...) to do it.

That will allow to save some resources. Indeed a gstglupload internally
allocates a FBO and shaders. Depending on the gl implementation the FBO
resource could be comparable to a texture (i.e. some impl optimize the
allocation until a draw is fire)
Worth to avoid that especially on embedded platforms.

I guess there is something to manage with
GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE but I wonder how. And maybe something
custom in upload_meta_params.

To sum-up, currently videotestsrc ! glimagesink allocates 2 gstglupload and the
one in the gstbufferpool is never used. (A gstglupload allocates gstglconvert /
FBO / Shaders ... )

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list