summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2009-07-24 19:38:07 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2009-07-24 19:54:05 +0200
commitf0054bcc8250b2d4463ac721dc99a0d6cf815d69 (patch)
tree836aa939b72c027728ac4568f1a29fe36ee44e9f
parent6eada080a0b3bb1a0b75c66fc4cfc510f9dd84b0 (diff)
effectv: Don't allow caps changes for some effectv filters
These filters use information from previous frames to generate the current frame and a caps change will make the effect start from the beginning again.
-rw-r--r--gst/effectv/gstaging.c3
-rw-r--r--gst/effectv/gstdice.c3
-rw-r--r--gst/effectv/gstquark.c3
-rw-r--r--gst/effectv/gstradioac.c3
-rw-r--r--gst/effectv/gstripple.c3
-rw-r--r--gst/effectv/gstshagadelic.c3
-rw-r--r--gst/effectv/gststreak.c3
-rw-r--r--gst/effectv/gstvertigo.c3
-rw-r--r--gst/effectv/gstwarp.c2
9 files changed, 26 insertions, 0 deletions
diff --git a/gst/effectv/gstaging.c b/gst/effectv/gstaging.c
index d07fc5f7d..96c312f91 100644
--- a/gst/effectv/gstaging.c
+++ b/gst/effectv/gstaging.c
@@ -418,4 +418,7 @@ gst_agingtv_init (GstAgingTV * agingtv, GstAgingTVClass * klass)
agingtv->color_aging = DEFAULT_COLOR_AGING;
agingtv->pits = DEFAULT_PITS;
agingtv->dusts = DEFAULT_DUSTS;
+
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SINK_PAD (agingtv));
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SRC_PAD (agingtv));
}
diff --git a/gst/effectv/gstdice.c b/gst/effectv/gstdice.c
index b46aab8e9..5d73b7a56 100644
--- a/gst/effectv/gstdice.c
+++ b/gst/effectv/gstdice.c
@@ -310,4 +310,7 @@ gst_dicetv_init (GstDiceTV * filter, GstDiceTVClass * klass)
filter->g_cube_size = 0;
filter->g_map_height = 0;
filter->g_map_width = 0;
+
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SINK_PAD (filter));
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SRC_PAD (filter));
}
diff --git a/gst/effectv/gstquark.c b/gst/effectv/gstquark.c
index a05f3fcab..29bed2bd9 100644
--- a/gst/effectv/gstquark.c
+++ b/gst/effectv/gstquark.c
@@ -286,4 +286,7 @@ gst_quarktv_init (GstQuarkTV * filter, GstQuarkTVClass * klass)
{
filter->planes = PLANES;
filter->current_plane = filter->planes - 1;
+
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SRC_PAD (filter));
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SINK_PAD (filter));
}
diff --git a/gst/effectv/gstradioac.c b/gst/effectv/gstradioac.c
index 92ffc7ba1..76bdb98c2 100644
--- a/gst/effectv/gstradioac.c
+++ b/gst/effectv/gstradioac.c
@@ -612,4 +612,7 @@ gst_radioactv_init (GstRadioacTV * filter, GstRadioacTVClass * klass)
filter->color = DEFAULT_COLOR;
filter->interval = DEFAULT_INTERVAL;
filter->trigger = DEFAULT_TRIGGER;
+
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SRC_PAD (filter));
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SINK_PAD (filter));
}
diff --git a/gst/effectv/gstripple.c b/gst/effectv/gstripple.c
index ce4a58c9e..75e398176 100644
--- a/gst/effectv/gstripple.c
+++ b/gst/effectv/gstripple.c
@@ -607,4 +607,7 @@ static void
gst_rippletv_init (GstRippleTV * filter, GstRippleTVClass * klass)
{
filter->mode = DEFAULT_MODE;
+
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SRC_PAD (filter));
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SINK_PAD (filter));
}
diff --git a/gst/effectv/gstshagadelic.c b/gst/effectv/gstshagadelic.c
index 89894d289..661df6baf 100644
--- a/gst/effectv/gstshagadelic.c
+++ b/gst/effectv/gstshagadelic.c
@@ -265,4 +265,7 @@ gst_shagadelictv_init (GstShagadelicTV * filter, GstShagadelicTVClass * klass)
{
filter->ripple = NULL;
filter->spiral = NULL;
+
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SRC_PAD (filter));
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SINK_PAD (filter));
}
diff --git a/gst/effectv/gststreak.c b/gst/effectv/gststreak.c
index 0772e8d1b..ed129d9ad 100644
--- a/gst/effectv/gststreak.c
+++ b/gst/effectv/gststreak.c
@@ -272,4 +272,7 @@ static void
gst_streaktv_init (GstStreakTV * filter, GstStreakTVClass * klass)
{
filter->feedback = DEFAULT_FEEDBACK;
+
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SRC_PAD (filter));
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SINK_PAD (filter));
}
diff --git a/gst/effectv/gstvertigo.c b/gst/effectv/gstvertigo.c
index 06cc0bb57..2ddce9a80 100644
--- a/gst/effectv/gstvertigo.c
+++ b/gst/effectv/gstvertigo.c
@@ -308,4 +308,7 @@ gst_vertigotv_init (GstVertigoTV * filter, GstVertigoTVClass * klass)
filter->phase = 0.0;
filter->phase_increment = 0.02;
filter->zoomrate = 1.01;
+
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SRC_PAD (filter));
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SINK_PAD (filter));
}
diff --git a/gst/effectv/gstwarp.c b/gst/effectv/gstwarp.c
index fd31dc4ab..c51ed38d0 100644
--- a/gst/effectv/gstwarp.c
+++ b/gst/effectv/gstwarp.c
@@ -282,4 +282,6 @@ gst_warptv_class_init (GstWarpTVClass * klass)
static void
gst_warptv_init (GstWarpTV * warptv, GstWarpTVClass * klass)
{
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SRC_PAD (warptv));
+ gst_pad_use_fixed_caps (GST_BASE_TRANSFORM_SINK_PAD (warptv));
}