diff -u base/cinelerra/playbackconfig.C hvirtual-1.1.5/cinelerra/playbackconfig.C
--- base/cinelerra/playbackconfig.C	2003-05-01 15:10:48.000000000 +0200
+++ hvirtual-1.1.5/cinelerra/playbackconfig.C	2003-05-11 16:51:55.000000000 +0200
@@ -256,6 +256,8 @@
 	sprintf(x11_host, "");
 	firewire_channel = 63;
 	firewire_port = 0;
+	firewire_syt_offset = 19000;
+	sprintf(firewire_out_device, "/dev/video1394");
 }
 
 VideoOutConfig::~VideoOutConfig()
@@ -282,7 +284,9 @@
 		(contrast == that.contrast) && 
 		(whiteness == that.whiteness) &&
 		(firewire_channel == that.firewire_channel) &&
-		(firewire_port == that.firewire_port);
+		(firewire_port == that.firewire_port) &&
+		!strcmp(firewire_out_device, that.firewire_out_device) && 
+		(firewire_syt_offset == that.firewire_syt_offset);
 }
 
 
@@ -302,6 +306,8 @@
 		this->do_channel[i] = that.do_channel[i];
 	firewire_channel = that.firewire_channel;
 	firewire_port = that.firewire_port;
+	firewire_syt_offset = that.firewire_syt_offset;
+	strcpy(firewire_out_device, that.firewire_out_device);
 	return *this;
 }
 
@@ -339,6 +345,10 @@
 	firewire_channel = defaults->get(string, firewire_channel);
 	sprintf(string, "FIREWIRE_OUT_PORT_%d_%d", playback_strategy, engine_number);
 	firewire_port = defaults->get(string, firewire_port);
+	sprintf(string, "FIREWIRE_SYT_OFFSET_%d_%d", playback_strategy, engine_number);
+	firewire_syt_offset = defaults->get(string, firewire_syt_offset);
+	sprintf(string, "FIREWIRE_OUT_DEVICE_%d_%d", playback_strategy, engine_number);
+	defaults->get(string, firewire_out_device);
 	return 0;
 }
 
@@ -361,6 +371,10 @@
 	defaults->update(string, firewire_channel);
 	sprintf(string, "FIREWIRE_OUT_PORT_%d_%d", playback_strategy, engine_number);
 	defaults->update(string, firewire_port);
+	sprintf(string, "FIREWIRE_SYT_OFFSET_%d_%d", playback_strategy, engine_number);
+	defaults->update(string, firewire_syt_offset);
+	sprintf(string, "FIREWIRE_OUT_DEVICE_%d_%d", playback_strategy, engine_number);
+	defaults->update(string, firewire_out_device);
 	return 0;
 }
 
diff -u base/cinelerra/playbackconfig.h hvirtual-1.1.5/cinelerra/playbackconfig.h
--- base/cinelerra/playbackconfig.h	2003-05-01 15:10:48.000000000 +0200
+++ hvirtual-1.1.5/cinelerra/playbackconfig.h	2003-05-11 16:52:30.000000000 +0200
@@ -79,6 +79,8 @@
 	int whiteness;
 	int firewire_channel;
 	int firewire_port;
+	int firewire_syt_offset;
+	char firewire_out_device[BCTEXTLEN];
 };
 
 class PlaybackConfig
diff -u base/cinelerra/playbackprefs.C hvirtual-1.1.5/cinelerra/playbackprefs.C
--- base/cinelerra/playbackprefs.C	2003-05-01 15:10:51.000000000 +0200
+++ hvirtual-1.1.5/cinelerra/playbackprefs.C	2003-05-11 17:07:38.000000000 +0200
@@ -91,7 +91,7 @@
  	y += 60;
 
 	add_subwindow(new BC_Title(x, y, "Video Out", LARGEFONT, BLACK));
-	y += 30;
+	y += 25;
 
 	add_subwindow(new BC_Title(10, y, "Framerate achieved:"));
 	add_subwindow(framerate_title = new BC_Title(x + 150, y, "--", MEDIUMFONT, RED));
@@ -124,7 +124,7 @@
 	add_subwindow(new BC_Title(x, y, "Preload buffer for Quicktime:", MEDIUMFONT, BLACK));
 	sprintf(string, "%d", pwindow->thread->edl->session->playback_preload);
 	add_subwindow(new PlaybackPreload(x + 210, y, pwindow, this, string));
-	y += 30;
+	y += 25;
 
 	add_subwindow(new PlaybackDeblock(pwindow, 10, y));
 	y += 35;
diff -u base/cinelerra/vdevice1394.C hvirtual-1.1.5/cinelerra/vdevice1394.C
--- base/cinelerra/vdevice1394.C	2003-05-01 15:10:50.000000000 +0200
+++ hvirtual-1.1.5/cinelerra/vdevice1394.C	2003-05-11 16:58:42.000000000 +0200
@@ -95,12 +95,13 @@
 int VDevice1394::open_output()
 {
 //printf("VDevice1394::open_output 1\n");
-    output_fd = open("/dev/video1394", O_RDWR);
+    output_fd = open(device->out_config->firewire_out_device, O_RDWR);
 //printf("VDevice1394::open_output 2\n");
 
 	if(output_fd <= 0)
 	{
-		perror("VDevice1394::open_output /dev/video1394");
+		fprintf(stderr, "VDevice1394::open_output failed opening %s\n", device->out_config->firewire_out_device);
+		perror("");
 		return 1;
 	}
 	else
@@ -153,7 +154,7 @@
         output_mmap.nb_buffers = 10;
         output_mmap.buf_size = 320 * 512;
         output_mmap.packet_size = 512;
-        output_mmap.syt_offset = 19000;
+        output_mmap.syt_offset = device->out_config->firewire_syt_offset;
         output_mmap.flags = VIDEO1394_VARIABLE_PACKET_SIZE;
     
         if(ioctl(output_fd, VIDEO1394_TALK_CHANNEL, &output_mmap) < 0)
diff -u base/cinelerra/vdeviceprefs.C hvirtual-1.1.5/cinelerra/vdeviceprefs.C
--- base/cinelerra/vdeviceprefs.C	2003-05-01 15:10:51.000000000 +0200
+++ hvirtual-1.1.5/cinelerra/vdeviceprefs.C	2003-05-11 17:04:05.000000000 +0200
@@ -119,6 +119,10 @@
 			delete device_text;
 			break;
 		case PLAYBACK_FIREWIRE:
+			delete device_title;
+			delete device_text;
+			delete syt_title;
+			delete firewire_syt;
 		case CAPTURE_FIREWIRE:
 			delete port_title;
 			delete firewire_port;
@@ -196,6 +200,19 @@
 	int *output_int;
 	int x1 = x + menu->get_w() + 5;
 
+	if (mode == MODEPLAY)
+	{
+		char *output_char;
+		output_char = out_config->firewire_out_device;
+		dialog->add_subwindow(device_title = new BC_Title(x1, y, "Device path:", MEDIUMFONT, BLACK));
+		dialog->add_subwindow(device_text = new VDeviceTextBox(x1, y + 20, output_char));
+		x1 += device_text->get_w() + 5;
+		output_int = &out_config->firewire_syt_offset;
+		dialog->add_subwindow(syt_title = new BC_Title(x1, y+50, "Syt offset:", MEDIUMFONT, BLACK));
+		dialog->add_subwindow(firewire_syt = new VDeviceIntBox(x1, y + 70, output_int));
+	}
+
+
 	switch(mode)
 	{
 		case MODEPLAY:
@@ -205,6 +222,7 @@
 			output_int = &in_config->vfirewire_in_port;
 			break;
 	}
+
 	dialog->add_subwindow(port_title = new BC_Title(x1, y, "Port:", MEDIUMFONT, BLACK));
 	dialog->add_subwindow(firewire_port = new VDeviceIntBox(x1, y + 20, output_int));
 
@@ -220,6 +238,8 @@
 	}
 	dialog->add_subwindow(channel_title = new BC_Title(x1, y, "Channel:", MEDIUMFONT, BLACK));
 	dialog->add_subwindow(firewire_channel = new VDeviceIntBox(x1, y + 20, output_int));
+
+
 	return 0;
 }
 
diff -u base/cinelerra/vdeviceprefs.h hvirtual-1.1.5/cinelerra/vdeviceprefs.h
--- base/cinelerra/vdeviceprefs.h	2003-05-01 15:10:51.000000000 +0200
+++ hvirtual-1.1.5/cinelerra/vdeviceprefs.h	2003-05-11 16:57:35.000000000 +0200
@@ -51,9 +51,9 @@
 	int create_x11_objs();
 
 	VDriverMenu *menu;
-	BC_Title *device_title, *port_title, *channel_title, *output_title;
+	BC_Title *device_title, *port_title, *channel_title, *output_title, *syt_title;
 	VDeviceTextBox *device_text;
-	VDeviceIntBox *firewire_port, *firewire_channel, *firewire_channels;
+	VDeviceIntBox *firewire_syt, *firewire_port, *firewire_channel, *firewire_channels;
 	VDeviceCheckBox *buz_swap_channels;
 	int driver, mode;
 	int x;
