add: widget_class->size_request = bacon_video_widget_size_request;
context: bacon_video_widget_class_init (BaconVideoWidgetClass *klass){	GObjectClass *object_class;	GtkWidgetClass *widget_class;	object_class = (GObjectClass *) klass;	widget_class = (GtkWidgetClass *) klass;	parent_class = gtk_type_class (gtk_vbox_get_type ());	/* GtkWidget */	widget_class->realize = bacon_video_widget_realize;	widget_class->unrealize = bacon_video_widget_unrealize;	widget_class->size_allocate = bacon_video_widget_size_allocate;	widget_class->expose_event = bacon_video_widget_expose;	widget_class->motion_notify_event = bacon_video_widget_motion_notify;	widget_class->button_press_event = bacon_video_widget_button_press;	widget_class->key_press_event = bacon_video_widget_key_press;	/* GObject */	object_class->set_property = bacon_video_widget_set_property;	object_class->get_property = bacon_video_widget_get_property;	object_class->finalize = bacon_video_widget_finalize;	/* Properties */	g_object_class_install_property (object_class, PROP_LOGO_MODE,			g_param_spec_boolean ("logo_mode", NULL, NULL,				FALSE, G_PARAM_READWRITE));	g_object_class_install_property (object_class, PROP_SPEED,			g_param_spec_int ("speed", NULL, NULL,				SPEED_PAUSE, SPEED_NORMAL,				0, G_PARAM_READWRITE));	g_object_class_install_property (object_class, PROP_POSITION,			g_param_spec_int ("position", NULL, NULL,				0, 65535, 0, G_PARAM_READABLE));	g_object_class_install_property (object_class, PROP_STREAM_LENGTH,			g_param_spec_int ("stream_length", NULL, NULL,				0, 65535, 0, G_PARAM_READABLE));	g_object_class_install_property (object_class, PROP_PLAYING,			g_param_spec_boolean ("playing", NULL, NULL,				FALSE, G_PARAM_READABLE));	g_object_class_install_property (object_class, PROP_SEEKABLE,			g_param_spec_boolean ("seekable", NULL, NULL,				FALSE, G_PARAM_READABLE));	g_object_class_install_property (object_class, PROP_SHOWCURSOR,			g_param_spec_boolean ("showcursor", NULL, NULL,				FALSE, G_PARAM_READWRITE));	g_object_class_install_property (object_class, PROP_MEDIADEV,			g_param_spec_string ("mediadev", NULL, NULL,				FALSE, G_PARAM_WRITABLE));	g_object_class_install_property (object_class, PROP_SHOW_VISUALS,			g_param_spec_boolean ("showvisuals", NULL, NULL,				FALSE, G_PARAM_WRITABLE));	/* Signals */	bvw_table_signals[ERROR] =		g_signal_new ("error",				G_TYPE_FROM_CLASS (object_class),				G_SIGNAL_RUN_LAST,				G_STRUCT_OFFSET (BaconVideoWidgetClass, error),				NULL, NULL,				g_cclosure_marshal_VOID__STRING,				G_TYPE_NONE, 1, G_TYPE_STRING);	bvw_table_signals[EOS] =		g_signal_new ("eos",				G_TYPE_FROM_CLASS (object_class),				G_SIGNAL_RUN_LAST,				G_STRUCT_OFFSET (BaconVideoWidgetClass, eos),				NULL, NULL,				g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);					bvw_table_signals[GOT_METADATA] =		g_signal_new ("got-metadata",				G_TYPE_FROM_CLASS (object_class),				G_SIGNAL_RUN_LAST,				G_STRUCT_OFFSET (BaconVideoWidgetClass, got_metadata),				NULL, NULL,				g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);	bvw_table_signals[TITLE_CHANGE] =		g_signal_new ("title-change",				G_TYPE_FROM_CLASS (object_class),				G_SIGNAL_RUN_LAST,				G_STRUCT_OFFSET (BaconVideoWidgetClass, title_change),				NULL, NULL,				g_cclosure_marshal_VOID__STRING,				G_TYPE_NONE, 1, G_TYPE_STRING);	bvw_table_signals[CHANNELS_CHANGE] =		g_signal_new ("channels-change",				G_TYPE_FROM_CLASS (object_class),				G_SIGNAL_RUN_LAST,				G_STRUCT_OFFSET (BaconVideoWidgetClass, channels_change),				NULL, NULL,				g_cclosure_marshal_VOID__VOID,				G_TYPE_NONE, 0);	bvw_table_signals[TICK] =		g_signal_new ("tick",				G_TYPE_FROM_CLASS (object_class),				G_SIGNAL_RUN_LAST,				G_STRUCT_OFFSET (BaconVideoWidgetClass, tick),				NULL, NULL,				baconvideowidget_marshal_VOID__INT_INT_INT,				G_TYPE_NONE, 3, G_TYPE_INT, G_TYPE_INT,				G_TYPE_INT);	bvw_table_signals[BUFFERING] =		g_signal_new ("buffering",				G_TYPE_FROM_CLASS (object_class),				G_SIGNAL_RUN_LAST,				G_STRUCT_OFFSET (BaconVideoWidgetClass, buffering),				NULL, NULL,				g_cclosure_marshal_VOID__INT,				G_TYPE_NONE, 1, G_TYPE_INT);}