[Bug 731204] androidmedia: Implement zerocopy rendering

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Jun 13 08:38:50 PDT 2014


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

--- Comment #12 from Matthieu Bouron <matthieu.bouron at collabora.com> 2014-06-13 15:38:43 UTC ---
(In reply to comment #9)
> (In reply to comment #8)
> > Dev branch updated:
> >   * caps are no longer hardcoded and some negotiation have been added.
> > Downstream caps are queried in the set_format function before the codec is
> > configured. If downstream caps supports the GLTextureUploadMeta,
> > video/x-raw(meta:GLTextureUploadMeta),format=RGBA is used for the decoder src
> > caps, then gst_video_decoder_negotiate is called and the presence of the meta
> > in the allocation query is checked in the decide_allocation method. If the meta
> > is found, a surface is generated and used. Biggest issue here is, if the query
> > allocation fails, we can no longer configure the codec with a surface
> > afterward. Note : caps negotiation fails with playbin flags=0x3 but work with
> > flags=0x1
> > 
> >   * on the GL part, the EXTERNAL_OES texture is converted back to a 2D / RGBA
> > texture using gstglconvert but it is done through a "hack" wrapping the
> > GL_TEXTURE_EXTERNAL_OES id to GstGlMemory that currently does not support that
> > kind of memory. Is adding support in the GstGLMemory relevant for this kind of
> > texture ? Or adding a custom function dedicated for such conversion better in
> > gstglconvert (not using a buffer as input but an oes texture id ?
> 
> After some discussion on IRC, It turns out that adding an helper to convert the
> external oes texture to 2D / RGBA one in gstglupload is the best solution for
> now.

Attached in new patch:
*  The texture conversion is now done in gstglupload.

> 
> > 
> > Comments welcome :)

-- 
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