sinek/src audio.c,1.3,1.4 keys.c,1.42,1.43 main.c,1.21,1.22 playlist.c,1.33,1.34 popup.c,1.28,1.29 prefs.c,1.23,1.24 sinek.c,1.7,1.8 tune.c,1.11,1.12 utility.c,1.35,1.36 video.c,1.26,1.27

[email protected] Fri, 03 Jan 2003 01:42:23 -0800
Newsgroups gmane.comp.video.sinek.cvs
Message-ID <[email protected]>
Update of /cvsroot/sinek/sinek/src
In directory sc8-pr-cvs1:/tmp/cvs-serv21140/src

Modified Files:
	audio.c keys.c main.c playlist.c popup.c prefs.c sinek.c 
	tune.c utility.c video.c 
Log Message:
um, yea.  started port to xine1.0 (yet again).  osd.c doesn't compile yet..


Index: audio.c
===================================================================
RCS file: /cvsroot/sinek/sinek/src/audio.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- audio.c	29 Apr 2002 18:28:12 -0000	1.3
+++ audio.c	3 Jan 2003 09:42:19 -0000	1.4
@@ -11,25 +11,16 @@
 #include "common.h"
 
 static int volume = 0;
-static int mixercaps = 0;
-static int mixer = 0;
 
 int audio_init(void)
 {
 	sinek_audio_set_output(media);
 
 	sinek.xine = media->xine;
-	xine_select_audio_channel(sinek.xine, sinek.audio_channel);
-	xine_select_spu_channel(sinek.xine, sinek.spu_channel);
-
-	mixercaps = xine_get_audio_capabilities(sinek.xine);
-	if(mixercaps & AO_CAP_PCM_VOL)
-		mixer = AO_PROP_PCM_VOL;
-	else if(mixercaps & AO_CAP_MIXER_VOL)
-		mixer = AO_PROP_MIXER_VOL;
-
-	if(mixercaps & (AO_CAP_PCM_VOL | AO_CAP_MIXER_VOL))
-		volume = xine_get_audio_property(sinek.xine, mixer);
+	xine_set_param(sinek.stream, XINE_PARAM_AUDIO_CHANNEL_LOGICAL, sinek.audio_channel);
+	xine_set_param(sinek.stream, XINE_PARAM_SPU_CHANNEL, sinek.spu_channel);
+	
+	volume = xine_get_param(sinek.stream, XINE_PARAM_AUDIO_VOLUME);
 
 	return 1;
 }
@@ -48,10 +39,7 @@
 	if(volume < 0) volume = 0;
 	if(volume > 100) volume = 100;
 
-	if(mixercaps & (AO_CAP_MIXER_VOL | AO_CAP_PCM_VOL))
-	{
-		xine_set_audio_property(sinek.xine, mixer, volume);
-	}
+	xine_set_param(sinek.stream, XINE_PARAM_AUDIO_VOLUME, volume);
 }
 
 
@@ -63,9 +51,6 @@
 
 void audio_toggle_mute(void)
 {
-	if(mixercaps & AO_CAP_MUTE_VOL)
-	{
-		sinek.mute = ~sinek.mute;
-		xine_set_audio_property(sinek.xine, AO_PROP_MUTE_VOL, sinek.mute);
-	}
+	sinek.mute = ~sinek.mute;
+	xine_set_param(sinek.stream, XINE_PARAM_AUDIO_MUTE, sinek.mute);
 }

Index: keys.c
===================================================================
RCS file: /cvsroot/sinek/sinek/src/keys.c,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -d -r1.42 -r1.43
--- keys.c	19 Jul 2002 20:21:15 -0000	1.42
+++ keys.c	3 Jan 2003 09:42:19 -0000	1.43
@@ -716,9 +716,9 @@
 
 		case CMD_PAUSE:
 			if(sinek.pause)
-				xine_set_speed(sinek.xine, SPEED_NORMAL);
+				xine_set_param(sinek.stream, XINE_PARAM_SPEED, XINE_SPEED_NORMAL);
 			else
-				xine_set_speed(sinek.xine, SPEED_PAUSE);
+				xine_set_param(sinek.stream, XINE_PARAM_SPEED, XINE_SPEED_PAUSE);
 			sinek.pause = ~sinek.pause;
 			break;
 
@@ -745,27 +745,27 @@
 			break;
 
 		case CMD_SPEED_FAST:
-			tmp = xine_get_speed(sinek.xine);
-			if(tmp != SPEED_PAUSE && tmp < SPEED_FAST_4)
-				xine_set_speed(sinek.xine, tmp * 2);
+			tmp = xine_get_param(sinek.stream, XINE_PARAM_SPEED);
+			if(tmp != XINE_SPEED_PAUSE && tmp < XINE_SPEED_FAST_4)
+				xine_set_param(sinek.stream, XINE_PARAM_SPEED, tmp * 2);
 			break;
 
 		case CMD_SPEED_SLOW:
-			tmp = xine_get_speed(sinek.xine);
-			if(tmp > SPEED_SLOW_4)
-				xine_set_speed(sinek.xine, tmp / 2);
+			tmp = xine_get_param(sinek.stream, XINE_PARAM_SPEED);
+			if(tmp > XINE_SPEED_SLOW_4)
+				xine_set_param(sinek.stream, XINE_PARAM_SPEED, tmp / 2);
 			break;
 
 		case CMD_AV_OFFSET_DOWN:
-			tmp = xine_get_av_offset(sinek.xine);
+			tmp = xine_get_param(sinek.stream, XINE_PARAM_AV_OFFSET);
 			tmp = tmp - 3600;
-			xine_set_av_offset(sinek.xine, tmp);
+			xine_set_param(sinek.stream, XINE_PARAM_AV_OFFSET, tmp);
 			break;
 
 		case CMD_AV_OFFSET_UP:
-			tmp = xine_get_av_offset(sinek.xine);
+			tmp = xine_get_param(sinek.stream, XINE_PARAM_AV_OFFSET);
 			tmp = tmp + 3600;
-			xine_set_av_offset(sinek.xine, tmp);
+			xine_set_param(sinek.stream, XINE_PARAM_AV_OFFSET, tmp);
 			break;
 
 		case CMD_SHOW_ABOUT:
@@ -812,18 +812,18 @@
 			break;
 
 		case CMD_TOGGLE_ASPECT:
-			tmp = media->vd->get_property(media->vd, VO_PROP_ASPECT_RATIO);
-			media->vd->set_property(media->vd, VO_PROP_ASPECT_RATIO, tmp + 1);
+			tmp = xine_get_param(sinek.stream, XINE_PARAM_VO_ASPECT_RATIO);
+			xine_set_param(sinek.stream, XINE_PARAM_VO_ASPECT_RATIO, tmp + 1);
 			break;
 
 		case CMD_TOGGLE_INTERLEAVE:
-			tmp = media->vd->get_property(media->vd, VO_PROP_INTERLACED);
-			media->vd->set_property(media->vd, VO_PROP_INTERLACED, 1 - tmp);
+			tmp = xine_get_param(sinek.stream, XINE_PARAM_VO_DEINTERLACE);
+			xine_set_param(sinek.stream, XINE_PARAM_VO_DEINTERLACE, 1 - tmp);
 			break;
 
 		case CMD_TOGGLE_TVMODE:
-			tmp = media->vd->get_property(media->vd, VO_PROP_ASPECT_RATIO);
-			media->vd->set_property(media->vd, VO_PROP_TVMODE, tmp);
+			tmp = xine_get_param(sinek.stream, XINE_PARAM_VO_TVMODE);
+			xine_set_param(sinek.stream, XINE_PARAM_VO_TVMODE, tmp);
 			break;
 
 		case CMD_TOGGLE_SUBTITLES:
@@ -846,7 +846,12 @@
 			sinek.signal_fake = 1;
 			gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(sinek.repeat_all_chk), sinek.repeat_all);
 			sinek.signal_fake = 0;
-			media->conf->update_num(media->conf, "sinek.repeat_all", sinek.repeat_all);
+			{
+				xine_cfg_entry_t e;
+				xine_config_lookup_entry(sinek.xine, "sinek.repeat_all", &e);
+				e.num_value = sinek.repeat_all;
+				xine_config_update_entry(sinek.xine, &e);
+			}
 			break;
 
 		case CMD_TOGGLE_MUTE:
@@ -857,23 +862,23 @@
 			break;
 
 		case CMD_SPU_NEXT:
-			tmp = xine_get_spu_channel(sinek.xine);
-			xine_select_spu_channel(sinek.xine, tmp + 1);
+			tmp = xine_get_param(sinek.stream, XINE_PARAM_SPU_CHANNEL);
+			xine_set_param(sinek.stream, XINE_PARAM_SPU_CHANNEL, tmp + 1);
 			break;
 
 		case CMD_SPU_PREVIOUS:
-			tmp = xine_get_spu_channel(sinek.xine);
-			xine_select_spu_channel(sinek.xine, tmp - 1);
+			tmp = xine_get_param(sinek.stream, XINE_PARAM_SPU_CHANNEL);
+			xine_set_param(sinek.stream, XINE_PARAM_SPU_CHANNEL, tmp - 1);
 			break;
 
 		case CMD_AUDIO_NEXT:
-			tmp = xine_get_audio_selection(sinek.xine);
-			xine_select_audio_channel(sinek.xine, tmp + 1);
+			tmp = xine_get_param(sinek.stream, XINE_PARAM_AUDIO_CHANNEL_LOGICAL);
+			xine_set_param(sinek.stream, XINE_PARAM_AUDIO_CHANNEL_LOGICAL, tmp + 1);
 			break;
 
 		case CMD_AUDIO_PREVIOUS:
-			tmp = xine_get_audio_selection(sinek.xine);
-			xine_select_audio_channel(sinek.xine, tmp - 1);
+			tmp = xine_get_param(sinek.stream, XINE_PARAM_AUDIO_CHANNEL_LOGICAL);
+			xine_set_param(sinek.stream, XINE_PARAM_AUDIO_CHANNEL_LOGICAL, tmp - 1);
 			break;
 
 		case CMD_ZOOM_IN:
@@ -916,62 +921,62 @@
 
 		case CMD_EVENT_MENU1:
 			xinev.type = XINE_EVENT_INPUT_MENU1;
-			xine_send_event(sinek.xine, &xinev);
+			xine_event_send(sinek.stream, &xinev);
 			break;
 
 		case CMD_EVENT_MENU2:
 			xinev.type = XINE_EVENT_INPUT_MENU2;
-			xine_send_event(sinek.xine, &xinev);
+			xine_event_send(sinek.stream, &xinev);
 			break;
 
 		case CMD_EVENT_MENU3:
 			xinev.type = XINE_EVENT_INPUT_MENU3;
-			xine_send_event(sinek.xine, &xinev);
+			xine_event_send(sinek.stream, &xinev);
 			break;
 
 		case CMD_EVENT_UP:
 			xinev.type = XINE_EVENT_INPUT_UP;
-			xine_send_event(sinek.xine, &xinev);
+			xine_event_send(sinek.stream, &xinev);
 			break;
 
 		case CMD_EVENT_DOWN:
 			xinev.type = XINE_EVENT_INPUT_DOWN;
-			xine_send_event(sinek.xine, &xinev);
+			xine_event_send(sinek.stream, &xinev);
 			break;
 
 		case CMD_EVENT_LEFT:
 			xinev.type = XINE_EVENT_INPUT_LEFT;
-			xine_send_event(sinek.xine, &xinev);
+			xine_event_send(sinek.stream, &xinev);
 			break;
 
 		case CMD_EVENT_RIGHT:
 			xinev.type = XINE_EVENT_INPUT_RIGHT;
-			xine_send_event(sinek.xine, &xinev);
+			xine_event_send(sinek.stream, &xinev);
 			break;
 
 		case CMD_EVENT_NEXT:
 			xinev.type = XINE_EVENT_INPUT_NEXT;
-			xine_send_event(sinek.xine, &xinev);
+			xine_event_send(sinek.stream, &xinev);
 			break;
 
 		case CMD_EVENT_PRIOR:
 			xinev.type = XINE_EVENT_INPUT_PREVIOUS;
-			xine_send_event(sinek.xine, &xinev);
+			xine_event_send(sinek.stream, &xinev);
 			break;
 
 		case CMD_EVENT_ANGLE_NEXT:
 			xinev.type = XINE_EVENT_INPUT_ANGLE_NEXT;
-			xine_send_event(sinek.xine, &xinev);
+			xine_event_send(sinek.stream, &xinev);
 			break;
 
 		case CMD_EVENT_ANGLE_PRIOR:
 			xinev.type = XINE_EVENT_INPUT_ANGLE_PREVIOUS;
-			xine_send_event(sinek.xine, &xinev);
+			xine_event_send(sinek.stream, &xinev);
 			break;
 
 		case CMD_EVENT_SELECT:
 			xinev.type = XINE_EVENT_INPUT_SELECT;
-			xine_send_event(sinek.xine, &xinev);
+			xine_event_send(sinek.stream, &xinev);
 			break;
 
 		case CMD_GOTO_MARK_0:
@@ -985,7 +990,11 @@
 		case CMD_GOTO_MARK_8:
 		case CMD_GOTO_MARK_9:
 			video_seek(sinek.marks[cmd - CMD_GOTO_MARK_0]);
-			sinek.marks[0] = xine_get_current_time(sinek.xine);
+			{
+				int x, y, cur;
+				xine_get_pos_length(sinek.stream, &x, &cur, &y);
+				sinek.marks[0] = cur;
+			}
 			break;
 
 		case CMD_SET_MARK_1:
@@ -997,7 +1006,11 @@
 		case CMD_SET_MARK_7:
 		case CMD_SET_MARK_8:
 		case CMD_SET_MARK_9:
-			sinek.marks[cmd - CMD_SET_MARK_1 + 1] = xine_get_current_time(sinek.xine);
+			{
+				int x, y, cur;
+				xine_get_pos_length(sinek.stream, &x, &cur, &y);
+				sinek.marks[cmd - CMD_SET_MARK_1 + 1] = cur;
+			}
 			break;
 	}
 }

Index: main.c
===================================================================
RCS file: /cvsroot/sinek/sinek/src/main.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- main.c	29 Jun 2002 20:29:05 -0000	1.21
+++ main.c	3 Jan 2003 09:42:20 -0000	1.22
@@ -13,9 +13,12 @@
 struct sinek_globals sinek;
 sinek_type *media;
 
+/* i think this is a bug in xine-lib; keep it for now, anyways */
+extern char *xine_set_locale(void);
+
 static int stream_finished = 0;
 
-static void event_listener(void *this, xine_event_t *event);
+static void event_listener(void *this, const xine_event_t *event);
 static gboolean second_update(gpointer data);
 
 #ifdef USE_GUILE
@@ -35,6 +38,8 @@
 int main(int argc, char *argv[])
 #endif
 {
+	xine_event_queue_t *eventq;
+	
 	memset(&sinek, 0, sizeof(sinek));
 	sinek.repeat_all = ~0;
 	sinek.video_mode = VIDEO_WINDOW;
@@ -70,7 +75,9 @@
 	control_update_slider(0, 0);
 	popup_init();
 
-	xine_register_event_listener(sinek.xine, event_listener, &sinek);
+	eventq = xine_event_new_queue(sinek.stream);
+	xine_event_create_listener_thread(eventq, event_listener, &sinek);
+	/* TODO: dispose of event queue when done */
 	pl_init();
 	scrsaver_init();
 	g_timeout_add(500, (GSourceFunc)second_update, NULL);
@@ -111,11 +118,13 @@
 		}
 		stream_finished = 0;
 	}
-	if(xine_get_status(sinek.xine) == XINE_PLAY)
+	if(xine_get_status(sinek.stream) == XINE_STATUS_PLAY)
 	{
 		if(!sinek.seeking)
 		{
-			control_update_slider(xine_get_current_time(sinek.xine), xine_get_stream_length(sinek.xine));
+			int pos, t, length;
+			if (xine_get_pos_length(sinek.stream, &t, &pos, &length))
+				control_update_slider(pos, length);
 		}
 		if(sinek.osd_subtitles) osd_update();
 		if(++sinek.cursor_timer == 3) video_cursor(0);
@@ -124,11 +133,11 @@
 }
 
 
-static void event_listener(void *this, xine_event_t *event)
+static void event_listener(void *this, const xine_event_t *event)
 {
 	switch(event->type)
 	{
-		case XINE_EVENT_PLAYBACK_FINISHED:
+		case XINE_EVENT_UI_PLAYBACK_FINISHED:
 			if(!stream_finished) stream_finished = 1;
 			break;
 	}

Index: playlist.c
===================================================================
RCS file: /cvsroot/sinek/sinek/src/playlist.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -d -r1.33 -r1.34
--- playlist.c	22 Jul 2002 21:11:42 -0000	1.33
+++ playlist.c	3 Jan 2003 09:42:20 -0000	1.34
@@ -73,7 +73,7 @@
 {
 	gchar *fname = NULL;
 
-	sinek.repeat_all = media->conf->register_bool(media->conf, "sinek.repeat_all", -1, NULL, NULL, NULL, NULL);
+	sinek.repeat_all = xine_config_register_bool(sinek.xine, "sinek.repeat_all", -1, NULL, NULL, 0, NULL, NULL);
 
 	wm_build(pl_build);
 

Index: popup.c
===================================================================
RCS file: /cvsroot/sinek/sinek/src/popup.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- popup.c	30 Jul 2002 00:32:03 -0000	1.28
+++ popup.c	3 Jan 2003 09:42:20 -0000	1.29
@@ -67,7 +67,7 @@
 	};
 	GtkItemFactory *fabrika;
 	gint n = sizeof(menus) / sizeof(menus[0]);
-	char **ids;
+	const char *const *ids;
 
 	fabrika = gtk_item_factory_new(GTK_TYPE_MENU, "<main>", NULL);
 	gtk_item_factory_create_items(fabrika, n, menus, NULL);
@@ -75,8 +75,7 @@
 
 	autoplay = gtk_item_factory_get_widget(fabrika, _("/Control/Autoplay"));
 	ids = xine_get_autoplay_input_plugin_ids(sinek.xine);
-	create_list(autoplay, ids, G_CALLBACK(cb_auto_browse));
-	free(ids);
+	create_list(autoplay, (char **) ids, G_CALLBACK(cb_auto_browse));
 
 	w_play = gtk_item_factory_get_widget(fabrika, _("/Control/Play"));
 	w_pause = gtk_item_factory_get_widget(fabrika, _("/Control/Pause"));

Index: prefs.c
===================================================================
RCS file: /cvsroot/sinek/sinek/src/prefs.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- prefs.c	15 Jul 2002 21:08:59 -0000	1.23
+++ prefs.c	3 Jan 2003 09:42:20 -0000	1.24
@@ -28,7 +28,7 @@
 struct cfgitem
 {
 	char *label;
-	cfg_entry_t *entry;
+	xine_cfg_entry_t *entry;
 	GtkWidget *widget;
 	GList *subitems;
 };
@@ -142,10 +142,13 @@
 
 void print_version(void)
 {
+	int major, minor, sub;
+
+	xine_get_version(&major, &minor, &sub);
 	printf(_("Sinek v%s (Video Player)\n"), VERSION);
 	printf(_("built with xine library v%d.%d.%d, using v%d.%d.%d.\n"),
 		XINE_MAJOR_VERSION, XINE_MINOR_VERSION, XINE_SUB_VERSION,
-		xine_get_major_version(), xine_get_minor_version(), xine_get_sub_version());
+		major, minor, sub);
 }
 
 
@@ -239,8 +242,7 @@
  {
 	GList *page, *item;
 	struct cfgitem *citem;
-	const gchar *str;
-	int val = 0;
+	xine_cfg_entry_t entry;
 
 	page = g_list_first(page_list);
 	while(page)
@@ -249,27 +251,28 @@
 		while(item)
 		{
 			citem = (struct cfgitem *)item->data;
-			switch(citem->entry->type)
+			xine_config_lookup_entry(media->xine, citem->label, &entry);
+			switch(entry.type)
 			{
-				case CONFIG_TYPE_STRING:
-					str = gtk_entry_get_text(GTK_ENTRY(citem->widget));
-					media->conf->update_string(media->conf, citem->entry->key, (char *)str);
+				case XINE_CONFIG_TYPE_STRING:
+					entry.str_value = (char *) gtk_entry_get_text(GTK_ENTRY(citem->widget));
+					xine_config_update_entry(media->xine, &entry);
 					break;
-				case CONFIG_TYPE_BOOL:
-					val = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(citem->widget));
-					media->conf->update_num(media->conf, citem->entry->key, val);
+				case XINE_CONFIG_TYPE_BOOL:
+					entry.num_value = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(citem->widget));
+					xine_config_update_entry(media->xine, &entry);
 					break;
-				case CONFIG_TYPE_ENUM:
-					val = gtk_option_menu_get_history(GTK_OPTION_MENU(citem->widget));
-					media->conf->update_num(media->conf, citem->entry->key, val);
+				case XINE_CONFIG_TYPE_ENUM:
+					entry.num_value = gtk_option_menu_get_history(GTK_OPTION_MENU(citem->widget));
+					xine_config_update_entry(media->xine, &entry);
 					break;
-				case CONFIG_TYPE_NUM:
-					val = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(citem->widget));
-					media->conf->update_num(media->conf, citem->entry->key, val);
+				case XINE_CONFIG_TYPE_NUM:
+					entry.num_value = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(citem->widget));
+					xine_config_update_entry(media->xine, &entry);
 					break;
-				case CONFIG_TYPE_RANGE:
-					val = ((GtkAdjustment *)citem->widget)->value;
-					media->conf->update_num(media->conf, citem->entry->key, val);
+				case XINE_CONFIG_TYPE_RANGE:
+					entry.num_value = ((GtkAdjustment *)citem->widget)->value;
+					xine_config_update_entry(media->xine, &entry);
 					break;
 			}
 			item = g_list_next(item);
@@ -281,8 +284,12 @@
 
 static void cb_ok(GtkWidget *w, GtkWidget *win)
 {
+	char *tmp;
+
 	prf_apply_changes();
-	media->conf->save(media->conf);
+	tmp = g_strconcat(g_get_home_dir(), "/.xine/config", NULL);
+	xine_config_save(media->xine, tmp);
+	g_free(tmp);
 	gtk_widget_hide(win);
 }
 
@@ -414,7 +421,7 @@
 	GtkWidget *sw, *box, *w;
 	GList *item;
 	struct cfgitem *citem;
-	cfg_entry_t *entry;
+	xine_cfg_entry_t *entry;
 
 	sw = gtk_scrolled_window_new(NULL, NULL);
 	gtk_widget_show(sw);
@@ -433,11 +440,11 @@
 		{
 			switch(entry->type)
 			{
-				case CONFIG_TYPE_STRING: w = build_string(citem); break;
-				case CONFIG_TYPE_BOOL: w = build_checkbox(citem); break;
-				case CONFIG_TYPE_ENUM: w = build_option(citem); break;
-				case CONFIG_TYPE_NUM: w = build_numeric(citem); break;
-				case CONFIG_TYPE_RANGE: w = build_scale(citem); break;
+				case XINE_CONFIG_TYPE_STRING: w = build_string(citem); break;
+				case XINE_CONFIG_TYPE_BOOL: w = build_checkbox(citem); break;
+				case XINE_CONFIG_TYPE_ENUM: w = build_option(citem); break;
+				case XINE_CONFIG_TYPE_NUM: w = build_numeric(citem); break;
+				case XINE_CONFIG_TYPE_RANGE: w = build_scale(citem); break;
 				default: w = NULL;
 			}
 			if(w) gtk_box_pack_start(GTK_BOX(box), w, FALSE, FALSE, 0);
@@ -472,9 +479,9 @@
 	GtkTreeIter iter;
 	GList *item;
 	struct cfgitem *cpage, *citem;
-	cfg_entry_t *entry;
+	xine_cfg_entry_t entry;
 	gchar *p;
-	int len, num = 0;
+	int r, len, num = 0;
 
 	list_store = gtk_list_store_new(N_COLS, G_TYPE_INT, G_TYPE_STRING);
 	list_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(list_store));
@@ -483,18 +490,18 @@
 	gtk_tree_view_append_column(GTK_TREE_VIEW(list_view), col);
 	gtk_widget_show(list_view);
 
-	entry = media->conf->first;
-	while(entry)
+	r = xine_config_get_first_entry(media->xine, &entry);
+	while (r)
 	{
-		p = strchr(entry->key, '.');
-		if(p && entry->description)
+		p = strchr(entry.key, '.');
+		if(p && entry.description)
 		{
-			len = p - entry->key;
+			len = p - entry.key;
 			cpage = NULL;
 			item = g_list_first(page_list);
 			while(item)
 			{
-				if(strncmp(((struct cfgitem *)item->data)->label, entry->key, len) == 0)
+				if(strncmp(((struct cfgitem *)item->data)->label, entry.key, len) == 0)
 				{
 					cpage = (struct cfgitem *)item->data;
 					break;
@@ -504,18 +511,17 @@
 			if(!cpage)
 			{
 				cpage = g_malloc0(sizeof(struct cfgitem));
-				cpage->label = g_strndup(entry->key, len);
+				cpage->label = g_strndup(entry.key, len);
 				gtk_list_store_append(list_store, &iter);
 				gtk_list_store_set(list_store, &iter, COL_NUM, num, COL_TITLE, (gpointer)cpage->label, -1);
 				num++;
 				page_list = g_list_append(page_list, (gpointer)cpage);
 			}
 			citem = g_malloc0(sizeof(struct cfgitem));
-			citem->label = g_strdup(entry->key + len + 1);
-			citem->entry = entry;
+			citem->label = g_strdup(entry.key + len + 1);
 			cpage->subitems = g_list_append(cpage->subitems, (gpointer)citem);
 		}
-		entry = entry->next;
+		r = xine_config_get_next_entry(media->xine, &entry);
 	}
 	g_signal_connect(G_OBJECT(gtk_tree_view_get_selection(GTK_TREE_VIEW(list_view))), "changed", G_CALLBACK(cb_page), NULL);
 

Index: sinek.c
===================================================================
RCS file: /cvsroot/sinek/sinek/src/sinek.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- sinek.c	30 Jul 2002 00:51:33 -0000	1.7
+++ sinek.c	3 Jan 2003 09:42:20 -0000	1.8
@@ -16,7 +16,6 @@
 #include <X11/extensions/XShm.h>
 #include <X11/Xatom.h>
 #include <xine.h>
-#include <xine/video_out_x11.h>
 
 #ifndef XShmGetEventBase
 extern int XShmGetEventBase(Display *);
@@ -24,8 +23,8 @@
 
 static int MyShmEvent = -1;
 
-static void frame_output_cb(void *this, int vid_w, int vid_h, int *dest_x, int *dest_y, int *dest_w, int *dest_h, int *win_x, int *win_y);
-static void dest_size_cb(void *this, int vid_w, int vid_h, int *dest_w, int *dest_h);
+static void frame_output_cb(void *this, int vid_w, int vid_h, double vid_pix_aspect, int *dest_x, int *dest_y, int *dest_w, int *dest_h, double *dest_pix_aspect, int *win_x, int *win_y);
+static void dest_size_cb(void *this, int vid_w, int vid_h, double vid_pix_aspect, int *dest_w, int *dest_h, double *dest_pix_aspect);
 extern int translate_point(int x, int y, int *vid_x, int *vid_y);
 
 
@@ -37,10 +36,11 @@
 
 	s = malloc(sizeof(sinek_type));
 	memset(s, 0, sizeof(sinek_type));
+	s->xine = xine_new();
 
 	home = g_get_home_dir();
 	tmp = g_strconcat(home, "/.xine/config", NULL);
-	s->conf = xine_config_file_init(tmp);
+	xine_config_load(s->xine, tmp);
 	g_free(tmp);
 
 	return s;
@@ -56,37 +56,37 @@
 
 int sinek_audio_set_output(sinek_type *s)
 {
-	char *id, **driver_ids;
-	int i;
+	const char *id;
+	const char *const *driver_ids;
+	xine_cfg_entry_t entry;
 
-	driver_ids = xine_list_audio_output_plugins();
-	id = s->conf->register_string(s->conf, "audio.driver", "auto", "audio driver to use", NULL, NULL, NULL);
+	driver_ids = xine_list_audio_output_plugins(s->xine);
+	id = xine_config_register_string(s->xine, "audio.driver", "auto", "audio driver to use", NULL, 0, NULL, NULL);
 	if(sinek.audio_id) id = sinek.audio_id;
 
 	/* try user preferred driver */
 	if(strncmp(id, "auto", 4) != 0 && strncmp(id, "null", 4) != 0)
-		s->ad = xine_load_audio_output_plugin(s->conf, id);
+		s->ad = xine_open_audio_driver(s->xine, id, NULL);
 	/* if that fails or user choosed auto, try any available driver */
 	if(!s->ad && strncmp(id, "null", 4) != 0)
 	{
 		int i = 0;
 		while(driver_ids[i])
 		{
-			s->ad = xine_load_audio_output_plugin(s->conf, driver_ids[i]);
+			s->ad = xine_open_audio_driver(s->xine, driver_ids[i], NULL);
 			if(s->ad) break;
 			i++;
 		}
 	}
-	for (i = 0; driver_ids[i]; i++)
-		free(driver_ids[i]);
-	free(driver_ids);
 
 	/* if that fails too or user choosed null, disable audio */
 	if(!s->ad) id = "null";
 
-	s->conf->update_string(s->conf, "audio.driver", id);
+	xine_config_lookup_entry(s->xine, "audio.driver", &entry);
+	entry.str_value = (char *) id;
+	xine_config_update_entry(s->xine, &entry);
 
-	s->xine = xine_init(s->vd, s->ad, s->conf);
+	sinek.stream = xine_stream_new(s->xine, s->ad, s->vd);
 	if(!s->xine)
 	{
 		printf(_("xine init error\n"));
@@ -100,7 +100,8 @@
 void sinek_video_event(sinek_type *s, void *event)
 {
 	XEvent *ev = (XEvent *)event;
-	xine_input_event_t xinev;
+	xine_event_t xinev;
+	xine_input_data_t inev;
 	int x, y;
 
 	switch(ev->type)
@@ -108,22 +109,24 @@
 		case MotionNotify:
 			if(translate_point(((XMotionEvent *)ev)->x, ((XMotionEvent *)ev)->y, &x, &y))
 			{
-				xinev.event.type = XINE_EVENT_MOUSE_MOVE;
-				xinev.button = 0;
-				xinev.x = x;
-				xinev.y = y;
-				xine_send_event(s->xine, (xine_event_t *)&xinev);
+				xinev.type = XINE_EVENT_INPUT_MOUSE_MOVE;
+				inev.button = 0;
+				inev.x = x;
+				inev.y = y;
+				xinev.data = (void *) &inev;
+				xine_event_send(sinek.stream, &xinev);
 			}
 			break;
 
 		case ButtonPress:
 			if(((XButtonEvent *)ev)->button == 1 && translate_point(((XButtonEvent *)ev)->x, ((XButtonEvent *)ev)->y, &x, &y))
 			{
-				xinev.event.type = XINE_EVENT_MOUSE_BUTTON;
-				xinev.button = 1;
-				xinev.x = x;
-				xinev.y = y;
-				xine_send_event(s->xine, (xine_event_t *)&xinev);
+				xinev.type = XINE_EVENT_INPUT_MOUSE_BUTTON;
+				inev.button = 1;
+				inev.x = x;
+				inev.y = y;
+				xinev.data = (void *) &inev;
+				xine_event_send(sinek.stream, &xinev);
 			}
 			break;
 
@@ -137,22 +140,23 @@
 		case Expose:
 			if(((XExposeEvent *)ev)->count == 0)
 			{
-				s->vd->gui_data_exchange(s->vd, GUI_DATA_EX_EXPOSE_EVENT, ev);
+				xine_gui_send_vo_data(sinek.stream, XINE_GUI_SEND_EXPOSE_EVENT, (void *) ev);
 			}
 			break;
 	}
 	if(ev->type == MyShmEvent)
-		s->vd->gui_data_exchange(s->vd, GUI_DATA_EX_COMPLETION_EVENT, ev);
+		xine_gui_send_vo_data(sinek.stream, XINE_GUI_SEND_COMPLETION_EVENT, (void *) ev);
 }
 
 
 int sinek_video_set_output(sinek_type *s, void *display_info)
 {
 	sinek_x11_type *di = (sinek_x11_type *)display_info;
-	char *id, **driver_ids;
+	const char *id;
+	const char *const *driver_ids;
 	double res_h, res_v;
 	x11_visual_t vis;
-	int i;
+	xine_cfg_entry_t entry;
 
 	s->display_info = di;
 
@@ -164,33 +168,30 @@
 	vis.d = di->drawable;
 	res_h = (DisplayWidth(vis.display, vis.screen)*1000 / DisplayWidthMM(vis.display, vis.screen));
 	res_v = (DisplayHeight(vis.display, vis.screen)*1000 / DisplayHeightMM(vis.display, vis.screen));
-	vis.display_ratio = res_h / res_v;
+	sinek.display_ratio = res_h / res_v;
 	vis.frame_output_cb = frame_output_cb;
 	vis.dest_size_cb = dest_size_cb;
 	vis.user_data = (void *)s;
-	if(fabs(vis.display_ratio - 1.0) < 0.01) vis.display_ratio = 1.0;
+	if(fabs(sinek.display_ratio - 1.0) < 0.01) sinek.display_ratio = 1.0;
 
-	driver_ids = xine_list_video_output_plugins(VISUAL_TYPE_X11);
-	id = s->conf->register_string(s->conf, "video.driver", "auto", "video driver to use", NULL, NULL, NULL);
+	driver_ids = xine_list_video_output_plugins(s->xine);
+	id = xine_config_register_string(s->xine, "video.driver", "auto", "video driver to use", NULL, 0, NULL, NULL);
 	if(sinek.video_id) id = sinek.video_id;
 
 	/* try user preferred driver */
 	if(strncmp(id, "auto", 4) != 0)
-		s->vd = xine_load_video_output_plugin(s->conf, id, VISUAL_TYPE_X11, (void *)&vis);
+		s->vd = xine_open_video_driver(s->xine, id, XINE_VISUAL_TYPE_X11, (void *) &vis);
 	/* if that fails or user choosed auto, try any available driver */
 	if(!s->vd)
 	{
 		int i = 0;
 		while(driver_ids[i])
 		{
-			s->vd = xine_load_video_output_plugin(s->conf, driver_ids[i], VISUAL_TYPE_X11, (void *)&vis);
+			s->vd = xine_open_video_driver(s->xine, driver_ids[i], XINE_VISUAL_TYPE_X11, (void *) &vis);
 			if(s->vd) break;
 			i++;
 		}
 	}
-	for (i = 0; driver_ids[i]; i++)
-		free(driver_ids[i]);
-	free(driver_ids);
 	/* if that fails too, exit with an error */
 	if(!s->vd)
 	{
@@ -198,13 +199,15 @@
 		return 0;
 	}
 
-	s->conf->update_string(s->conf, "video.driver", id);
+	xine_config_lookup_entry(s->xine, "video.driver", &entry);
+	entry.str_value = (char *) id;
+	xine_config_update_entry(s->xine, &entry);
 
 	return 1;
 }
 
 
-static void frame_output_cb(void *this, int vid_w, int vid_h, int *dest_x, int *dest_y, int *dest_w, int *dest_h, int *win_x, int *win_y)
+static void frame_output_cb(void *this, int vid_w, int vid_h, double vid_pix_aspect, int *dest_x, int *dest_y, int *dest_w, int *dest_h, double *dest_pix_aspect, int *win_x, int *win_y)
 {
 	sinek_x11_type *di = ((sinek_type *)this)->display_info;
 
@@ -232,7 +235,7 @@
 }
 
 
-static void dest_size_cb(void *this, int vid_w, int vid_h, int *dest_w, int *dest_h)
+static void dest_size_cb(void *this, int vid_w, int vid_h, double vid_pix_aspect, int *dest_w, int *dest_h, double *dest_pix_aspect)
 {
 	sinek_type *s = (sinek_type *)this;
 
@@ -245,7 +248,8 @@
 {
 	if(s->mrl) free(s->mrl);
 	s->mrl = strdup(mrl);
-	return xine_play(s->xine, s->mrl, 0, 0);
+	xine_open(sinek.stream, s->mrl);
+	return xine_play(sinek.stream,  0, 0);
 }
 
 
@@ -253,21 +257,23 @@
 {
 	if(!s->mrl) return;
 
-	if(xine_get_status(s->xine) != XINE_PLAY)
-		xine_play(s->xine, s->mrl, 0, 0);
+	if(xine_get_status(sinek.stream) != XINE_STATUS_PLAY) {
+		xine_open(sinek.stream, s->mrl);
+		xine_play(sinek.stream, 0, 0);
+	}
 	else
-		xine_set_speed(s->xine, SPEED_NORMAL);
+		xine_set_param(sinek.stream, XINE_PARAM_SPEED, XINE_SPEED_NORMAL);
 }
 
 
 void sinek_seek(sinek_type *s, unsigned long secs)
 {
-	if(s->mrl && xine_is_stream_seekable(s->xine))
-		xine_play(s->xine, s->mrl, 0, secs);
+	if (s->mrl && xine_get_stream_info(sinek.stream, XINE_STREAM_INFO_SEEKABLE))
+		xine_play(sinek.stream, 0, secs);
 }
 
 
 void sinek_stop(sinek_type *s)
 {
-	xine_stop(s->xine);
+	xine_stop(sinek.stream);
 }

Index: tune.c
===================================================================
RCS file: /cvsroot/sinek/sinek/src/tune.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- tune.c	15 Jul 2002 21:08:59 -0000	1.11
+++ tune.c	3 Jan 2003 09:42:20 -0000	1.12
@@ -12,7 +12,6 @@
 
 static GtkWidget *tune_win = NULL;
 static GtkObject *hue_adj, *sat_adj, *bri_adj, *con_adj;
-static int vidcap = 0;
 static int hue, sat, bri, con;
 
 static GtkObject *create_prop(GtkWidget *box, char *name, int cap, int prop);
@@ -29,8 +28,6 @@
 
 	if(tune_win) goto out;
 
-	vidcap = media->vd->get_capabilities(media->vd);
-
 	tune_win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
 	gtk_window_set_title(GTK_WINDOW(tune_win), _("Sinek Tuner"));
 	gtk_window_set_wmclass(GTK_WINDOW(tune_win), "tuner", "sinek");
@@ -49,13 +46,13 @@
 	gtk_container_add(GTK_CONTAINER(b), hb);
 	gtk_container_set_border_width(GTK_CONTAINER(hb), 5);
 
-	hue_adj = create_prop(hb, _("Hue"), VO_CAP_HUE, VO_PROP_HUE);
+	hue_adj = create_prop(hb, _("Hue"), XINE_PARAM_VO_HUE, XINE_PARAM_VO_HUE);
 	g_signal_connect(hue_adj, "value_changed", G_CALLBACK(cb_hue), NULL);
-	sat_adj = create_prop(hb, _("Saturation"), VO_CAP_SATURATION, VO_PROP_SATURATION);
+	sat_adj = create_prop(hb, _("Saturation"), XINE_PARAM_VO_SATURATION, XINE_PARAM_VO_SATURATION);
 	g_signal_connect(sat_adj, "value_changed", G_CALLBACK(cb_sat), NULL);
-	bri_adj = create_prop(hb, _("Brightness"), VO_CAP_BRIGHTNESS, VO_PROP_BRIGHTNESS);
+	bri_adj = create_prop(hb, _("Brightness"), XINE_PARAM_VO_BRIGHTNESS, XINE_PARAM_VO_BRIGHTNESS);
 	g_signal_connect(bri_adj, "value_changed", G_CALLBACK(cb_bri), NULL);
-	con_adj = create_prop(hb, _("Contrast"), VO_CAP_CONTRAST, VO_PROP_CONTRAST);
+	con_adj = create_prop(hb, _("Contrast"), XINE_PARAM_VO_CONTRAST, XINE_PARAM_VO_CONTRAST);
 	g_signal_connect(con_adj, "value_changed", G_CALLBACK(cb_con), NULL);
 
 	hb2 = gtk_hbutton_box_new();
@@ -99,16 +96,15 @@
 	gtk_widget_show(vb);
 	gtk_box_pack_start(GTK_BOX(box), vb, TRUE, TRUE, 0);
 
-	cur = media->vd->get_property(media->vd, prop);
-	media->vd->get_property_min_max(media->vd, prop, &min, &max);
-	adj = gtk_adjustment_new(cur, min, max, 1, 0, 0);
+	cur = xine_get_param(sinek.stream, prop);
+	//media->vd->get_property_min_max(media->vd, prop, &min, &max);
+	adj = gtk_adjustment_new(cur, 0, 100, 1, 0, 0);
 
 	scale = gtk_vscale_new(GTK_ADJUSTMENT(adj));
 	gtk_widget_show(scale);
 	gtk_box_pack_start(GTK_BOX(vb), scale, TRUE, TRUE, 0);
 	gtk_scale_set_value_pos(GTK_SCALE(scale), GTK_POS_RIGHT);
 	gtk_scale_set_digits(GTK_SCALE(scale), 0);
-	if(!(vidcap & cap)) gtk_widget_set_sensitive(scale, FALSE);
 
 	lab = gtk_label_new(name);
 	gtk_widget_show(lab);
@@ -124,25 +120,25 @@
 	{
 		GTK_ADJUSTMENT(hue_adj)->value = hue;
 		gtk_adjustment_value_changed(GTK_ADJUSTMENT(hue_adj));
-		media->vd->set_property(media->vd, VO_PROP_HUE, hue);
+		xine_set_param(sinek.stream, XINE_PARAM_VO_HUE, hue);
 	}
 	if(GTK_ADJUSTMENT(sat_adj)->value != sat)
 	{
 		GTK_ADJUSTMENT(sat_adj)->value = sat;
 		gtk_adjustment_value_changed(GTK_ADJUSTMENT(sat_adj));
-		media->vd->set_property(media->vd, VO_PROP_SATURATION, sat);
+		xine_set_param(sinek.stream, XINE_PARAM_VO_SATURATION, sat);
 	}
 	if(GTK_ADJUSTMENT(bri_adj)->value != bri)
 	{
 		GTK_ADJUSTMENT(bri_adj)->value = bri;
 		gtk_adjustment_value_changed(GTK_ADJUSTMENT(bri_adj));
-		media->vd->set_property(media->vd, VO_PROP_BRIGHTNESS, bri);
+		xine_set_param(sinek.stream, XINE_PARAM_VO_BRIGHTNESS, bri);
 	}
 	if(GTK_ADJUSTMENT(con_adj)->value != con)
 	{
 		GTK_ADJUSTMENT(con_adj)->value = con;
 		gtk_adjustment_value_changed(GTK_ADJUSTMENT(con_adj));
-		media->vd->set_property(media->vd, VO_PROP_CONTRAST, con);
+		xine_set_param(sinek.stream, XINE_PARAM_VO_CONTRAST, con);
 	}
 
 	gtk_widget_hide(tune_win);
@@ -151,23 +147,23 @@
 
 static void cb_hue(GtkAdjustment *adj)
 {
-	media->vd->set_property(media->vd, VO_PROP_HUE, adj->value);
+	xine_set_param(sinek.stream, XINE_PARAM_VO_HUE, adj->value);
 }
 
 
 static void cb_sat(GtkAdjustment *adj)
 {
-	media->vd->set_property(media->vd, VO_PROP_SATURATION, adj->value);
+	xine_set_param(sinek.stream, XINE_PARAM_VO_SATURATION, adj->value);
 }
 
 
 static void cb_bri(GtkAdjustment *adj)
 {
-	media->vd->set_property(media->vd, VO_PROP_BRIGHTNESS, adj->value);
+	xine_set_param(sinek.stream, XINE_PARAM_VO_BRIGHTNESS, adj->value);
 }
 
 
 static void cb_con(GtkAdjustment *adj)
 {
-	media->vd->set_property(media->vd, VO_PROP_CONTRAST, adj->value);
+	xine_set_param(sinek.stream, XINE_PARAM_VO_CONTRAST, adj->value);
 }

Index: utility.c
===================================================================
RCS file: /cvsroot/sinek/sinek/src/utility.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- utility.c	17 Jul 2002 19:48:28 -0000	1.35
+++ utility.c	3 Jan 2003 09:42:20 -0000	1.36
@@ -531,6 +531,7 @@
 {
 	gchar *file, *tmp, *path;
 	int mode;
+	xine_cfg_entry_t entry;
 
 	mode = (int)g_object_get_data(G_OBJECT(fs), "mode");
 
@@ -544,7 +545,9 @@
 
 	gtk_label_get(GTK_LABEL(gtk_bin_get_child(GTK_BIN(fs->history_pulldown))), &tmp);
 	path = g_strconcat(tmp, G_DIR_SEPARATOR_S, NULL);
-	media->conf->update_string(media->conf, "sinek.last_dir", path);
+	xine_config_lookup_entry(sinek.xine, "sinek.last_dir", &entry);
+	entry.str_value = path;
+	xine_config_update_entry(sinek.xine, &entry);
 	g_free(path);
 	gtk_widget_hide(GTK_WIDGET(fs));
 }
@@ -558,7 +561,7 @@
 
 	if(browse_win) goto out;
 
-	path = media->conf->register_string(media->conf, "sinek.last_dir", "", NULL, NULL, NULL, NULL);
+	path = xine_config_register_string(sinek.xine, "sinek.last_dir", "", NULL, NULL, 0, NULL, NULL);
 
 	freq = gtk_file_selection_new(_("Select Video File"));
 	gtk_container_set_border_width(GTK_CONTAINER(freq), 10);

Index: video.c
===================================================================
RCS file: /cvsroot/sinek/sinek/src/video.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- video.c	28 Jun 2002 00:08:27 -0000	1.26
+++ video.c	3 Jan 2003 09:42:20 -0000	1.27
@@ -15,7 +15,6 @@
 #include <X11/Xutil.h>
 #include <X11/cursorfont.h>
 #include <X11/Xatom.h>
-#include <xine/video_out_x11.h>
 
 /* missing stuff from X includes */
 #define MWM_HINTS_DECORATIONS (1L << 1)
@@ -217,8 +216,11 @@
 
 	if(sinek_open(media, mrl))
 	{
+		int x, y, length;
+
+		xine_get_pos_length(sinek.stream, &x, &y, &length);
 		scrsaver_disable();
-		control_update_slider(0, xine_get_stream_length(sinek.xine));
+		control_update_slider(0, length);
 		control_mrl(mrl);
 		sinek.playing = -1;
 		return 1;
@@ -241,14 +243,16 @@
 	if(val == 0)
 	{
 		/* reset zoom */
-		tmp = media->vd->get_property(media->vd, VO_PROP_ASPECT_RATIO);
-		media->vd->set_property(media->vd, VO_PROP_ASPECT_RATIO, tmp);
+		tmp = xine_get_param(sinek.stream, XINE_PARAM_VO_ASPECT_RATIO);
+		xine_set_param(sinek.stream, XINE_PARAM_VO_ASPECT_RATIO, tmp);
 		return;
 	}
 	else
 	{
-		tmp = media->vd->get_property(media->vd, VO_PROP_ZOOM_FACTOR);
-		media->vd->set_property(media->vd, VO_PROP_ZOOM_FACTOR, tmp + val);
+		tmp = xine_get_param(sinek.stream, XINE_PARAM_VO_ZOOM_X);
+		xine_set_param(sinek.stream, XINE_PARAM_VO_ZOOM_X, tmp + val);
+		tmp = xine_get_param(sinek.stream, XINE_PARAM_VO_ZOOM_Y);
+		xine_set_param(sinek.stream, XINE_PARAM_VO_ZOOM_Y, tmp + val);
 	}
 }
 
@@ -437,7 +441,7 @@
 	rect.w = 0;
 	rect.h = 0;
 
-	if(media->vd->gui_data_exchange(media->vd, GUI_DATA_EX_TRANSLATE_GUI_TO_VIDEO,  (void*)&rect) != -1)
+	if (xine_gui_send_vo_data(sinek.stream, XINE_GUI_SEND_TRANSLATE_GUI_TO_VIDEO, (void *) &rect) != -1)
 	{
 		*vid_x = rect.x;
 		*vid_y = rect.y;
@@ -502,7 +506,7 @@
 	}
 	sinek.video_win = videowin;
 
-	if(media->vd) media->vd->gui_data_exchange(media->vd, GUI_DATA_EX_DRAWABLE_CHANGED, (void *)videowin);
+	xine_gui_send_vo_data(sinek.stream, XINE_GUI_SEND_DRAWABLE_CHANGED, (void *) videowin);
 
 	if(!fs && xc_hint) XSetClassHint(display, videowin, xc_hint);
 
@@ -561,7 +565,7 @@
 	}
 	sinek.video_win = videowin;
 
-	if(media->vd) media->vd->gui_data_exchange(media->vd, GUI_DATA_EX_DRAWABLE_CHANGED, (void *)videowin);
+	xine_gui_send_vo_data(sinek.stream, XINE_GUI_SEND_DRAWABLE_CHANGED, (void *) videowin);
 
 	xs_hint.x = 0;
 	xs_hint.y = 0;




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf