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 d07fc5f7d895bba1bce06e4a920dd30af05f5d74..96c312f91c3f4816934a1d33aa6e0b840797fc69 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 b46aab8e980cbf2a0b0849817ce3666ea1da87ba..5d73b7a5611372784f1e80e2657873be3e23ac0d 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 a05f3fcab85eb5bf8bd56e41c0309ac2d3ec8e3b..29bed2bd96a1326f0659431f934368a6fafc7ab5 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 92ffc7ba10019f0ce2763eaabaf5edcc311c1c9f..76bdb98c27cfce6ac467979c91df0a9da37d70fa 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 ce4a58c9eb65c36bc6037be66b7b7a96d1217553..75e39817675098f72aa2f2a1435729e0f2d1a5f6 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 89894d289eca5a44e01fc5dfd5074832e28a0558..661df6baf6a14e080cb103aaede785951345b350 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 0772e8d1bd6baac2e4e107870503daa74bd60db8..ed129d9adf1fc08f89ff161b65cf19c7d50a1459 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 06cc0bb57c3cba28fc46df346372f744f48008fe..2ddce9a809526d0a688c2aa9f1945a0af77f94a9 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 fd31dc4ab9953f34cb9d8e4978fc36ea7af3cceb..c51ed38d0ee5a3e08d3d0215965a31cce2701f88 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));
 }