[Bug 747352] applemedia: texture cache negotiation doesn't work
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Sat Apr 4 21:25:58 PDT 2015
https://bugzilla.gnome.org/show_bug.cgi?id=747352
--- Comment #13 from Ilya Konstantinov <ilya.konstantinov at gmail.com> ---
(In reply to Sebastian Dröge (slomo) from comment #12)
> > I couldn't test the NV12 patch since glimagesink doesn't accept NV12 over
> > GLMemory. Any idea how I can test it?
>
> glupload or glcolorconvert handle NV12 (unless broken)
static GstCaps *
gst_glimage_sink_get_caps (GstBaseSink * bsink, GstCaps * filter)
{
GstCaps *tmp = NULL;
...
tmp = gst_caps_from_string ("video/x-raw(memory:GLMemory),format=RGBA");
Hmm. Could this be related?
> (In reply to Ilya Konstantinov from comment #7)
> > Created attachment 300967 [details] [review] [review]
> > glimagesink: Don't keep next_buffer after drawing
> >
> > SMALL PATCH for simplifying our already-confusing buffer refcount:
> >
> > next_buffer should be alive between prepare and show_frame.
> > For keeping a stationary frame, we have aptly named named stored_buffer.
>
> The reason for this is that we want to keep around the buffer until we draw
> the next one. IIRC it's not guaranteed that after glTexImage2D() or similar
> everything is done, and we can't safely unref/destroy/reuse the memory yet.
Yes, we still keep it -- it's called "stored_buffer". It's what we draw, and
what we'll keep drawing until we get another buffer.
I thought "next_buffer" is supposed to be only alive between prepare and
show_frame.
Before this patch, we ref the same buffer twice -- in 1) stored_buffer, and 2)
next_buffer, and this is just confusing.
> (In reply to Ilya Konstantinov from comment #6)
> > NOTE: Xcode's OpenGL ES Analysis instrument shows further issues:
> >
...
> Does it also tell you where?
It pinpoints the exact GL calls, so you could grep and figure it out. I don't
think it pinpoints lines of code, but I'll snoop some more.
> > if (glimage_sink->context->gl_vtable->FenceSync)
> > gst_query_add_allocation_meta (query, GST_GL_SYNC_META_API_TYPE, 0);
>
> I think so. Someone should really review all that negotiation code, it seems
> a bit half-refactored :)
I think Matthew Waters can answer best.
--
You are receiving this mail because:
You are the QA Contact for the bug.
More information about the gstreamer-bugs
mailing list