From: Filippo Argiolas Date: Sat, 16 Aug 2008 07:40:54 +0000 (+0200) Subject: [177/906] fix gleffects memory issue (init resources on start and reset them on stop) X-Git-Tag: 1.19.3~507^2~12355 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0a4aa6ecc31e8697afaef5987988b047e9cb9904;p=platform%2Fupstream%2Fgstreamer.git [177/906] fix gleffects memory issue (init resources on start and reset them on stop) --- diff --git a/gst/gl/gstgleffects.c b/gst/gl/gstgleffects.c index 8374cfe..3f846bb 100644 --- a/gst/gl/gstgleffects.c +++ b/gst/gl/gstgleffects.c @@ -279,15 +279,6 @@ set_horizontal_swap (GstGLDisplay *display, gpointer data) static void gst_gl_effects_init (GstGLEffects * effects, GstGLEffectsClass * klass) { - gint i; - effects->shaderstable = g_hash_table_new_full (g_str_hash, - g_str_equal, - NULL, - g_object_unref); - for (i=0; icurve[i] = 0; - } - effects->effect = gst_gl_effects_identity; effects->horizontal_swap = FALSE; } @@ -297,6 +288,8 @@ gst_gl_effects_reset_resources (GstGLFilter* filter) { GstGLEffects* effects = GST_GL_EFFECTS(filter); +// g_message ("reset resources"); + g_hash_table_unref (effects->shaderstable); effects->shaderstable = NULL; } @@ -342,7 +335,21 @@ gst_gl_effects_get_property (GObject * object, guint prop_id, static void gst_gl_effects_init_resources (GstGLFilter* filter) { -// GstGLEffects* blur_filter = GST_GL_EFFECTS (filter); + GstGLEffects *effects = GST_GL_EFFECTS (filter); + gint i; +// g_message ("init resources"); +// g_message ("init hashtable"); + effects->shaderstable = g_hash_table_new_full (g_str_hash, + g_str_equal, + NULL, + g_object_unref); +// g_message ("zero textures and curves"); + for (i=0; imidtexture[i] = 0; + } + for (i=0; icurve[i] = 0; + } } static gboolean