[Bug 740222] libav: Video decoder push buffer mapped in READ/WRITE

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sat Nov 22 07:44:35 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=740222
  GStreamer | gst-libav | 1.4.4

Nicolas Dufresne (stormer) <nicolas.dufresne> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|DUPLICATE                   |
            Summary|libav: Video decoder maps   |libav: Video decoder push
                   |buffer READ/WRITE instead   |buffer mapped in READ/WRITE
                   |of just WRITE               |

--- Comment #8 from Nicolas Dufresne (stormer) <nicolas.dufresne at collabora.co.uk> 2014-11-22 15:44:32 UTC ---
Ok, reopening, as the other generic bug is more of a discussion, hence isn't a
solution for this problem.

Just to remind, I'm trying to enable direct rendering when using glimagesink
and libav together (to avoid an extra copy).

I have reverted the libav patch, as like Wim said the map failure was due to
having only WRITE mapped the buffer. Now it maps of course, but the texture is
never uploaded, like if the GLMemory map implementation was never called. I
have experimented with simply unmapping the buffer, and then mapping it
read-only. This fixed it, but if libav is still reading from that it's could be
racy. So indeed, having a way to atomicly remap could be a plausible option.
The other idea that was proposed was to:

map(read)
map(readwrite);

...

unmap(readwrite);
push()

Not sure yet if that make sense.

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