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.
This commit is contained in:
Sebastian Dröge 2009-07-24 19:38:07 +02:00
parent 6eada080a0
commit f0054bcc82
9 changed files with 26 additions and 0 deletions

View file

@ -418,4 +418,7 @@ gst_agingtv_init (GstAgingTV * agingtv, GstAgingTVClass * klass)
agingtv->color_aging = DEFAULT_COLOR_AGING; agingtv->color_aging = DEFAULT_COLOR_AGING;
agingtv->pits = DEFAULT_PITS; agingtv->pits = DEFAULT_PITS;
agingtv->dusts = DEFAULT_DUSTS; 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));
} }

View file

@ -310,4 +310,7 @@ gst_dicetv_init (GstDiceTV * filter, GstDiceTVClass * klass)
filter->g_cube_size = 0; filter->g_cube_size = 0;
filter->g_map_height = 0; filter->g_map_height = 0;
filter->g_map_width = 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));
} }

View file

@ -286,4 +286,7 @@ gst_quarktv_init (GstQuarkTV * filter, GstQuarkTVClass * klass)
{ {
filter->planes = PLANES; filter->planes = PLANES;
filter->current_plane = filter->planes - 1; 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));
} }

View file

@ -612,4 +612,7 @@ gst_radioactv_init (GstRadioacTV * filter, GstRadioacTVClass * klass)
filter->color = DEFAULT_COLOR; filter->color = DEFAULT_COLOR;
filter->interval = DEFAULT_INTERVAL; filter->interval = DEFAULT_INTERVAL;
filter->trigger = DEFAULT_TRIGGER; 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));
} }

View file

@ -607,4 +607,7 @@ static void
gst_rippletv_init (GstRippleTV * filter, GstRippleTVClass * klass) gst_rippletv_init (GstRippleTV * filter, GstRippleTVClass * klass)
{ {
filter->mode = DEFAULT_MODE; 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));
} }

View file

@ -265,4 +265,7 @@ gst_shagadelictv_init (GstShagadelicTV * filter, GstShagadelicTVClass * klass)
{ {
filter->ripple = NULL; filter->ripple = NULL;
filter->spiral = 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));
} }

View file

@ -272,4 +272,7 @@ static void
gst_streaktv_init (GstStreakTV * filter, GstStreakTVClass * klass) gst_streaktv_init (GstStreakTV * filter, GstStreakTVClass * klass)
{ {
filter->feedback = DEFAULT_FEEDBACK; 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));
} }

View file

@ -308,4 +308,7 @@ gst_vertigotv_init (GstVertigoTV * filter, GstVertigoTVClass * klass)
filter->phase = 0.0; filter->phase = 0.0;
filter->phase_increment = 0.02; filter->phase_increment = 0.02;
filter->zoomrate = 1.01; 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));
} }

View file

@ -282,4 +282,6 @@ gst_warptv_class_init (GstWarpTVClass * klass)
static void static void
gst_warptv_init (GstWarpTV * warptv, GstWarpTVClass * klass) 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));
} }