gl: propagate return value from filter and filter_texture

https://bugzilla.gnome.org/show_bug.cgi?id=749846
This commit is contained in:
Xavier Claessens 2015-05-26 15:01:37 -04:00 committed by Tim-Philipp Müller
parent c55790143f
commit 840157230d

View file

@ -901,6 +901,7 @@ gst_gl_filter_transform (GstBaseTransform * bt, GstBuffer * inbuf,
GstGLDisplay *display = GST_GL_BASE_FILTER (bt)->display; GstGLDisplay *display = GST_GL_BASE_FILTER (bt)->display;
GstGLContext *context = GST_GL_BASE_FILTER (bt)->context; GstGLContext *context = GST_GL_BASE_FILTER (bt)->context;
GstGLSyncMeta *out_sync_meta, *in_sync_meta; GstGLSyncMeta *out_sync_meta, *in_sync_meta;
gboolean ret;
if (!display) if (!display)
return GST_FLOW_NOT_NEGOTIATED; return GST_FLOW_NOT_NEGOTIATED;
@ -912,15 +913,15 @@ gst_gl_filter_transform (GstBaseTransform * bt, GstBuffer * inbuf,
gst_gl_sync_meta_wait (in_sync_meta, context); gst_gl_sync_meta_wait (in_sync_meta, context);
if (filter_class->filter) if (filter_class->filter)
filter_class->filter (filter, inbuf, outbuf); ret = filter_class->filter (filter, inbuf, outbuf);
else if (filter_class->filter_texture) else
gst_gl_filter_filter_texture (filter, inbuf, outbuf); ret = gst_gl_filter_filter_texture (filter, inbuf, outbuf);
out_sync_meta = gst_buffer_get_gl_sync_meta (outbuf); out_sync_meta = gst_buffer_get_gl_sync_meta (outbuf);
if (out_sync_meta) if (out_sync_meta)
gst_gl_sync_meta_set_sync_point (out_sync_meta, context); gst_gl_sync_meta_set_sync_point (out_sync_meta, context);
return GST_FLOW_OK; return ret ? GST_FLOW_OK : GST_FLOW_ERROR;
} }
struct glcb2 struct glcb2