diff options
author | Matthew Waters <matthew@centricular.com> | 2020-03-11 14:39:35 +0300 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2020-03-13 17:37:58 +0300 |
commit | d1c887bc774179d51fa227282a6979a0dd37bda9 (patch) | |
tree | fc7e8a14b6d6ff49a04660b86f331823c12cf4d5 | |
parent | c2a7875aa12f75439ee392ffe4be62d5dd9476d4 (diff) |
basetransform: allow not passthrough if generate_output is implemented
This allows an element to not require implementing transform or
transform_ip.
-rw-r--r-- | libs/gst/base/gstbasetransform.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libs/gst/base/gstbasetransform.c b/libs/gst/base/gstbasetransform.c index 5ddad78342..40154cac5c 100644 --- a/libs/gst/base/gstbasetransform.c +++ b/libs/gst/base/gstbasetransform.c @@ -2515,7 +2515,7 @@ gst_base_transform_src_activate_mode (GstPad * pad, GstObject * parent, * useful for filters that do not care about negotiation. * * Always %TRUE for filters which don't implement either a transform - * or transform_ip method. + * or transform_ip or generate_output method. * * MT safe. */ @@ -2531,7 +2531,8 @@ gst_base_transform_set_passthrough (GstBaseTransform * trans, GST_OBJECT_LOCK (trans); if (!passthrough) { - if (bclass->transform_ip || bclass->transform) + if (bclass->transform_ip || bclass->transform || (bclass->generate_output + && bclass->generate_output != default_generate_output)) trans->priv->passthrough = FALSE; } else { trans->priv->passthrough = TRUE; |