rem: g_signal_emit (G_OBJECT (bvw), bvw_table_signals[EOS], 0, NULL);
add: signal = g_new0 (BVWSignal, 1); signal->signal_id = ASYNC_EOS;  g_async_queue_push (bvw->priv->queue, signal);  g_idle_add ((GSourceFunc) bacon_video_widget_signal_idler, bvw);
context: got_eos (GstPlay * play, BaconVideoWidget * bvw){  g_return_if_fail (bvw != NULL);  g_return_if_fail (BACON_IS_VIDEO_WIDGET (bvw));  g_signal_emit (G_OBJECT (bvw), bvw_table_signals[EOS], 0, NULL);}