Don't just check the availability of the metadata but also if the buffer is
really from our bufferpool.
meta = gst_buffer_get_meta_ximage (buf);
- if (meta) {
+ if (meta && buf->pool == ximagesink->pool) {
/* If this buffer has been allocated using our buffer management we simply
put the ximage which is in the PRIVATE pointer */
GST_LOG_OBJECT (ximagesink, "buffer from our pool, writing directly");
meta = gst_buffer_get_meta_xvimage (buf);
- if (meta) {
+ if (meta && buf->pool == xvimagesink->pool) {
/* If this buffer has been allocated using our buffer management we simply
put the ximage which is in the PRIVATE pointer */
GST_LOG_OBJECT (xvimagesink, "buffer %p from our pool, writing directly",