handle = mod->handle;
module_close = dlsym(handle, "module_close");
- if (module_close) module_close(mod, video);
+ if ((module_close) && (video)) module_close(mod, video);
dlclose(handle);
}
if ((file) && (file[0] != 0))
{
int w, h;
+
sd->file = strdup(file);
if (sd->module)
{
{
sd->module->file_close(sd->video);
sd->video = NULL;
+ printf("VIDEO -> NULL\n");
evas_object_image_size_set(sd->obj, 0, 0);
}
}
rows,
&rows[ps.h],
&rows[ps.h + (ps.h / 2)]))
- evas_object_image_pixels_import(obj, &ps);
+ evas_object_image_pixels_import(obj, &ps);
evas_object_image_pixels_dirty_set(obj, 0);
free(ps.rows);
}
Smart_Data *sd;
sd = evas_object_smart_data_get(obj);
if (!sd) return;
+ printf("DEL: sd->video = %p\n", sd->video);
if (sd->video) sd->module->file_close(sd->video);
- if (sd->module) _emotion_module_close(sd->module, sd->video);
+ _emotion_module_close(sd->module, sd->video);
evas_object_del(sd->obj);
if (sd->file) free(sd->file);
if (sd->job) ecore_job_del(sd->job);
Emotion_Xine_Video *ev;
ev = (Emotion_Xine_Video *)ef;
-
+ if (!ev) return;
printf("EX pause end...\n");
if (!emotion_object_play_get(ev->obj))
// if (xine_get_param(ev->stream, XINE_PARAM_SPEED) == XINE_SPEED_PAUSE)