From e80743182f78f0b91b61cc8583874c1465bfd21e Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Tue, 23 Oct 2007 12:28:36 +0000 Subject: [PATCH] Made use of isoburn_source_opts.fifo_size --- libisoburn/trunk/test/xorriso.1 | 7 ++++--- libisoburn/trunk/test/xorriso.c | 6 ++++-- libisoburn/trunk/test/xorriso_timestamp.h | 2 +- libisoburn/trunk/test/xorrisoburn.c | 3 +-- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/libisoburn/trunk/test/xorriso.1 b/libisoburn/trunk/test/xorriso.1 index 0fa2ca9e..ac9b3be6 100644 --- a/libisoburn/trunk/test/xorriso.1 +++ b/libisoburn/trunk/test/xorriso.1 @@ -2,7 +2,7 @@ .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) -.TH XORRISO 1 "October 22, 2007" +.TH XORRISO 1 "October 23, 2007" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -431,10 +431,11 @@ for their own decision. If "on" simulate burning or refuse with SORRY event if no simulation is possible. If "on" do not blank or format. .TP -> \fB-fs\fR number["k"|"m"] +\fB-fs\fR number["k"|"m"] Set the size of the fifo buffer which smoothens the data stream from ISO image generation to media burning. Default -is 4 MiB. The number may be followed by letter "k" or"m" +is 4 MiB, minimum 64 kiB, maximum 1 GiB. +The number may be followed by letter "k" or "m" which means unit is kiB (= 1024) or MiB (= 1024 kiB). .TP \fB\-close\fR "on"|"off" diff --git a/libisoburn/trunk/test/xorriso.c b/libisoburn/trunk/test/xorriso.c index 902ba23b..d11bb594 100644 --- a/libisoburn/trunk/test/xorriso.c +++ b/libisoburn/trunk/test/xorriso.c @@ -3659,13 +3659,15 @@ int Xorriso_option_fs(struct XorrisO *xorriso, char *size, int flag) double num; num= Scanf_io_size(size, 0); - if(num < 4096 || num > 1024.0 * 1024.0 * 1024.0) { + if(num < 64*1024 || num > 1024.0 * 1024.0 * 1024.0) { sprintf(xorriso->info_text, "-fs: wrong size %.f (allowed: %.f - %.f)", - num, 4096.0, 1024.0 * 1024.0 * 1024.0); + num, 64.0 * 1024.0, 1024.0 * 1024.0 * 1024.0); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0); return(0); } xorriso->fs= num / 2048.0; + if(xorriso->fs * 2048 < num) + xorriso->fs++; return(1); } diff --git a/libisoburn/trunk/test/xorriso_timestamp.h b/libisoburn/trunk/test/xorriso_timestamp.h index 0f686e30..58c93ad8 100644 --- a/libisoburn/trunk/test/xorriso_timestamp.h +++ b/libisoburn/trunk/test/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2007.10.23.122349" +#define Xorriso_timestamP "2007.10.23.122753" diff --git a/libisoburn/trunk/test/xorrisoburn.c b/libisoburn/trunk/test/xorrisoburn.c index a08d83f7..6bef1278 100644 --- a/libisoburn/trunk/test/xorrisoburn.c +++ b/libisoburn/trunk/test/xorrisoburn.c @@ -300,8 +300,7 @@ int Xorriso_write_growing(struct XorrisO *xorriso, int flag) sopts.gid= xorriso->global_gid; sopts.input_charset= NULL; sopts.ouput_charset= NULL; - - /* >>> -fs : isoburn_prepare_disc() needs fifo parameters */ + sopts.fifo_size= xorriso->fs * 2048; if (isoburn_prepare_disc(drive, &disc, &sopts) <= 0) { Xorriso_process_msg_queues(xorriso,0);