/* delete evas object callbacks registrated on a former evas image object */
evas_object_event_callback_del (evaspixmapsink->eo, EVAS_CALLBACK_DEL, evas_callback_del_event);
evas_object_event_callback_del (evaspixmapsink->eo, EVAS_CALLBACK_RESIZE, evas_callback_resize_event);
+ evaspixmapsink->eo = eo;
if (evaspixmapsink->eo) {
if (!gst_evaspixmapsink_xpixmap_link(evaspixmapsink)) {
GST_WARNING_OBJECT (evaspixmapsink,"link evas image object with pixmap failed...");
return;
}
}
- evaspixmapsink->eo = eo;
/* add evas object callbacks on a new evas image object */
evas_object_event_callback_add (evaspixmapsink->eo, EVAS_CALLBACK_DEL, evas_callback_del_event, evaspixmapsink);
evas_object_event_callback_add (evaspixmapsink->eo, EVAS_CALLBACK_RESIZE, evas_callback_resize_event, evaspixmapsink);
{
gboolean visible = g_value_get_boolean (value);
if (evaspixmapsink->visible != visible) {
+ evaspixmapsink->visible = visible;
if (evaspixmapsink->eo) {
- g_mutex_lock( evaspixmapsink->flow_lock );
if (!visible) {
int i = 0;
+ g_mutex_lock( evaspixmapsink->flow_lock );
for (i = 0; i < evaspixmapsink->num_of_pixmaps; i++) {
if (evaspixmapsink->xpixmap[i]) {
gst_evaspixmapsink_xpixmap_clear (evaspixmapsink, evaspixmapsink->xpixmap[i]);
}
}
+ g_mutex_unlock( evaspixmapsink->flow_lock );
evas_object_hide(evaspixmapsink->eo);
GST_INFO_OBJECT (evaspixmapsink,"object hide..");
} else {
evas_object_show(evaspixmapsink->eo);
GST_INFO_OBJECT (evaspixmapsink,"object show..");
+ gst_evaspixmap_buffer_put (evaspixmapsink, evaspixmapsink->evas_pixmap_buf);
}
- evaspixmapsink->visible = visible;
- g_mutex_unlock( evaspixmapsink->flow_lock );
} else {
GST_WARNING_OBJECT (evaspixmapsink,"evas image object was not set");
}