summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>2020-10-08 13:52:33 +0200
committerTim-Philipp Müller <tim@centricular.com>2020-10-10 18:56:52 +0100
commitdb8a21995b297a32be3faab0d561a542d5dff09c (patch)
tree69e218d2e96abd2ee50e1c3f660424c1739645ca
parent7fc0bff265a06a503c03d37676efcb105e7e309f (diff)
downloadgstreamer-plugins-base-db8a21995b297a32be3faab0d561a542d5dff09c.tar.gz
audio: video: Fix in/outbuf confusion of transform_meta
There are three instances where in- and outbuf have been swapped. This didn't affect the correctness of the libs *filter code, but the videoscale implementation swapped the arguments of meta->transform_func. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/856>
-rw-r--r--gst-libs/gst/audio/gstaudiofilter.c6
-rw-r--r--gst-libs/gst/video/gstvideofilter.c8
-rw-r--r--gst/videoscale/gstvideoscale.c8
3 files changed, 11 insertions, 11 deletions
diff --git a/gst-libs/gst/audio/gstaudiofilter.c b/gst-libs/gst/audio/gstaudiofilter.c
index 6f12159f4..e6ad740bf 100644
--- a/gst-libs/gst/audio/gstaudiofilter.c
+++ b/gst-libs/gst/audio/gstaudiofilter.c
@@ -71,8 +71,8 @@ G_DEFINE_ABSTRACT_TYPE_WITH_CODE (GstAudioFilter, gst_audio_filter,
GST_TYPE_BASE_TRANSFORM, do_init);
static gboolean
-gst_audio_filter_transform_meta (GstBaseTransform * trans, GstBuffer * inbuf,
- GstMeta * meta, GstBuffer * outbuf)
+gst_audio_filter_transform_meta (GstBaseTransform * trans, GstBuffer * outbuf,
+ GstMeta * meta, GstBuffer * inbuf)
{
const GstMetaInfo *info = meta->info;
const gchar *const *tags;
@@ -85,7 +85,7 @@ gst_audio_filter_transform_meta (GstBaseTransform * trans, GstBuffer * inbuf,
return
GST_BASE_TRANSFORM_CLASS (gst_audio_filter_parent_class)->transform_meta
- (trans, inbuf, meta, outbuf);
+ (trans, outbuf, meta, inbuf);
}
static void
diff --git a/gst-libs/gst/video/gstvideofilter.c b/gst-libs/gst/video/gstvideofilter.c
index 66a18874e..0a42e4963 100644
--- a/gst-libs/gst/video/gstvideofilter.c
+++ b/gst-libs/gst/video/gstvideofilter.c
@@ -348,8 +348,8 @@ invalid_buffer:
}
static gboolean
-gst_video_filter_transform_meta (GstBaseTransform * trans, GstBuffer * inbuf,
- GstMeta * meta, GstBuffer * outbuf)
+gst_video_filter_transform_meta (GstBaseTransform * trans, GstBuffer * outbuf,
+ GstMeta * meta, GstBuffer * inbuf)
{
const GstMetaInfo *info = meta->info;
const gchar *const *tags;
@@ -360,8 +360,8 @@ gst_video_filter_transform_meta (GstBaseTransform * trans, GstBuffer * inbuf,
&& gst_meta_api_type_has_tag (info->api, META_TAG_VIDEO)))
return TRUE;
- return GST_BASE_TRANSFORM_CLASS (parent_class)->transform_meta (trans, inbuf,
- meta, outbuf);
+ return GST_BASE_TRANSFORM_CLASS (parent_class)->transform_meta (trans, outbuf,
+ meta, inbuf);
}
static void
diff --git a/gst/videoscale/gstvideoscale.c b/gst/videoscale/gstvideoscale.c
index 9f4d5149f..f73950c36 100644
--- a/gst/videoscale/gstvideoscale.c
+++ b/gst/videoscale/gstvideoscale.c
@@ -195,7 +195,7 @@ static GstCaps *gst_video_scale_transform_caps (GstBaseTransform * trans,
static GstCaps *gst_video_scale_fixate_caps (GstBaseTransform * base,
GstPadDirection direction, GstCaps * caps, GstCaps * othercaps);
static gboolean gst_video_scale_transform_meta (GstBaseTransform * trans,
- GstBuffer * inbuf, GstMeta * meta, GstBuffer * outbuf);
+ GstBuffer * outbuf, GstMeta * meta, GstBuffer * inbuf);
static gboolean gst_video_scale_set_info (GstVideoFilter * filter,
GstCaps * in, GstVideoInfo * in_info, GstCaps * out,
@@ -500,8 +500,8 @@ gst_video_scale_transform_caps (GstBaseTransform * trans,
}
static gboolean
-gst_video_scale_transform_meta (GstBaseTransform * trans, GstBuffer * inbuf,
- GstMeta * meta, GstBuffer * outbuf)
+gst_video_scale_transform_meta (GstBaseTransform * trans, GstBuffer * outbuf,
+ GstMeta * meta, GstBuffer * inbuf)
{
GstVideoFilter *videofilter = GST_VIDEO_FILTER (trans);
const GstMetaInfo *info = meta->info;
@@ -535,7 +535,7 @@ gst_video_scale_transform_meta (GstBaseTransform * trans, GstBuffer * inbuf,
/* Cant handle the tags in this meta, let the parent class handle it */
if (!should_copy) {
return GST_BASE_TRANSFORM_CLASS (parent_class)->transform_meta (trans,
- inbuf, meta, outbuf);
+ outbuf, meta, inbuf);
}
/* This meta is size sensitive, try to transform it accordingly */