effectv: Don't allow caps changes for some effectv filters
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Fri, 24 Jul 2009 17:38:07 +0000 (19:38 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Fri, 24 Jul 2009 17:54:05 +0000 (19:54 +0200)
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.

gst/effectv/gstaging.c
gst/effectv/gstdice.c
gst/effectv/gstquark.c
gst/effectv/gstradioac.c
gst/effectv/gstripple.c
gst/effectv/gstshagadelic.c
gst/effectv/gststreak.c
gst/effectv/gstvertigo.c
gst/effectv/gstwarp.c

index d07fc5f..96c312f 100644 (file)
@@ -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));
 }
index b46aab8..5d73b7a 100644 (file)
@@ -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));
 }
index a05f3fc..29bed2b 100644 (file)
@@ -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));
 }
index 92ffc7b..76bdb98 100644 (file)
@@ -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));
 }
index ce4a58c..75e3981 100644 (file)
@@ -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));
 }
index 89894d2..661df6b 100644 (file)
@@ -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));
 }
index 0772e8d..ed129d9 100644 (file)
@@ -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));
 }
index 06cc0bb..2ddce9a 100644 (file)
@@ -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));
 }
index fd31dc4..c51ed38 100644 (file)
@@ -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));
 }