diff src/disk_writer/disk_writer.c @ 403:2a762925c469 trunk

[svn] - reopen on flush(0)
author nenolod
date Wed, 03 Jan 2007 12:45:05 -0800
parents 3da1b8942b8b
children 41f98fe0c353
line wrap: on
line diff
--- a/src/disk_writer/disk_writer.c	Tue Jan 02 22:28:23 2007 -0800
+++ b/src/disk_writer/disk_writer.c	Wed Jan 03 12:45:05 2007 -0800
@@ -65,6 +65,7 @@
 static struct wavhead header;
 static guint64 written = 0;
 static AFormat afmt;
+static gint arate, ach;
 gint ctrlsocket_get_session_id(void);		/* FIXME */
 
 static void disk_init(void);
@@ -132,6 +133,8 @@
 
 	written = 0;
 	afmt = fmt;
+	arate = rate;
+	ach = nch;
 
 	if (xmms_check_realtime_priority())
 	{
@@ -276,6 +279,11 @@
 
 static void disk_flush(gint time)
 {
+	if (time == 0)
+	{
+		disk_close();
+		disk_open(afmt, arate, ach);
+	}
 }
 
 static void disk_pause(short p)