glmemory: unset the opposite corresponding transfer flags when mapped with write
authorMatthew Waters <matthew@centricular.com>
Mon, 29 Sep 2014 15:38:05 +0000 (01:38 +1000)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 9 Dec 2017 19:31:47 +0000 (19:31 +0000)
fixes consistency with consecutive gst_memory_map()'s with
flags & GST_MAP_WRITE

gst-libs/gst/gl/gstglmemory.c

index 6e72bda0da5a70c42ca4c0dbc8804e158ef5be0f..e0b274f290b46e0aa615c2025bcea2aa8872840f 100644 (file)
@@ -683,8 +683,10 @@ _gl_mem_unmap (GstGLMemory * gl_mem)
   if ((gl_mem->map_flags & GST_MAP_WRITE) == GST_MAP_WRITE) {
     if ((gl_mem->map_flags & GST_MAP_GL) == GST_MAP_GL) {
       GST_GL_MEMORY_FLAG_SET (gl_mem, GST_GL_MEMORY_FLAG_NEED_DOWNLOAD);
+      GST_GL_MEMORY_FLAG_UNSET (gl_mem, GST_GL_MEMORY_FLAG_NEED_UPLOAD);
     } else {
       GST_GL_MEMORY_FLAG_SET (gl_mem, GST_GL_MEMORY_FLAG_NEED_UPLOAD);
+      GST_GL_MEMORY_FLAG_UNSET (gl_mem, GST_GL_MEMORY_FLAG_NEED_DOWNLOAD);
     }
   }