summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gst/goom/gstgoom.c23
1 files changed, 9 insertions, 14 deletions
diff --git a/gst/goom/gstgoom.c b/gst/goom/gstgoom.c
index a941ab07a..6700f75c9 100644
--- a/gst/goom/gstgoom.c
+++ b/gst/goom/gstgoom.c
@@ -50,6 +50,9 @@
GST_DEBUG_CATEGORY (goom_debug);
#define GST_CAT_DEFAULT goom_debug
+#define DEFAULT_WIDTH 320
+#define DEFAULT_HEIGHT 240
+
/* signals and args */
enum
{
@@ -126,9 +129,11 @@ gst_goom_class_init (GstGoomClass * klass)
static void
gst_goom_init (GstGoom * goom)
{
- goom->width = -1;
- goom->height = -1;
+ goom->width = DEFAULT_WIDTH;
+ goom->height = DEFAULT_HEIGHT;
goom->channels = 0;
+
+ goom->plugin = goom_init (goom->width, goom->height);
}
static void
@@ -147,15 +152,8 @@ gst_goom_setup (GstAudioVisualizer * base)
{
GstGoom *goom = GST_GOOM (base);
- if (!goom->plugin ||
- goom->width != GST_VIDEO_INFO_WIDTH (&base->vinfo) ||
- goom->height != GST_VIDEO_INFO_HEIGHT (&base->vinfo)) {
- goom->width = GST_VIDEO_INFO_WIDTH (&base->vinfo);
- goom->height = GST_VIDEO_INFO_HEIGHT (&base->vinfo);
- if (goom->plugin)
- goom_close (goom->plugin);
- goom->plugin = goom_init (goom->width, goom->height);
- }
+ goom->width = GST_VIDEO_INFO_WIDTH (&base->vinfo);
+ goom->height = GST_VIDEO_INFO_HEIGHT (&base->vinfo);
return TRUE;
}
@@ -170,9 +168,6 @@ gst_goom_render (GstAudioVisualizer * base, GstBuffer * audio,
gint16 *adata;
gint i;
- if (!goom->plugin)
- return FALSE;
-
/* get next GOOM_SAMPLES, we have at least this amount of samples */
gst_buffer_map (audio, &amap, GST_MAP_READ);
adata = (gint16 *) amap.data;