mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 01:00:37 +00:00
gl: propagate return value from filter and filter_texture
https://bugzilla.gnome.org/show_bug.cgi?id=749846
This commit is contained in:
parent
c55790143f
commit
840157230d
1 changed files with 5 additions and 4 deletions
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue