}
evas_object_geometry_get(priv->o, NULL, NULL, &w, &h);
- INF("sink main render [%i, %i] - [%i, %i] => [%i, %i] - [%i, %i]",
- priv->width, priv->height,
- stride, elevation,
- w, h,
- stride * w / priv->width, elevation * h / priv->height);
send->ev->fill.width = stride * w / priv->width;
send->ev->fill.height = elevation * h / priv->height;
_emotion_video_pos_update(send->ev->obj, send->ev->position, vstream->length_time);
_emotion_frame_resize(send->ev->obj, priv->width, priv->height, send->ev->ratio);
+ /* FIXME: why is last buffer not protected ? */
+
exit_point:
emotion_gstreamer_buffer_free(send);
if (preroll || !priv->o) return ;
- eina_lock_take(&priv->m);
if (!priv->unlocked)
eina_condition_signal(&priv->c);
-
- eina_lock_release(&priv->m);
}
static void
if (preroll || !priv->o) return ;
- eina_lock_take(&priv->m);
if (!priv->unlocked)
eina_condition_signal(&priv->c);
-
- eina_lock_release(&priv->m);
}
static void
unlock_buffer_mutex(EvasVideoSinkPrivate* priv)
{
- eina_lock_take(&priv->m);
priv->unlocked = EINA_TRUE;
eina_condition_signal(&priv->c);
- eina_lock_release(&priv->m);
}
static void
if (!ev->kill_buffer) return ;
+#if 0
if (ev->last_buffer) gst_buffer_unref(ev->last_buffer);
ev->last_buffer = NULL;
+#endif
}
static void