[Libburn] Re: How to pipe stdin to CD-RW ?

Derek Foreman manmower at signalmarketing.com
Thu Dec 1 18:07:24 PST 2005

On Thu, 1 Dec 2005, scdbackup at gmx.net wrote:

> Hi,
> i believe to understand that the obstacle to stdin piping
> is in
> struct burn_source {
> ...
>        /** Get the size of the source's data */
>        int (*get_size)(struct burn_source *);
> ...
> }

Ahh, right.

iirc, we need that information to tell us when to start messing with the p 

> which gets pointed to  file_size()  in file.c which does:
>        fstat(fs->datafd, &buf);
>        return buf.st_size;
> and is used by  burn_track_get_sectors() .
> Do i get it right that the write modes of libburn need to
> know the size of the track in advance ?
> I read "sao" and "raw". cdrecord needs the size in advance
> with these modes.  Up to now i could always use it with -tao,
> but Joerg already announced that this might vanish some day.

libburn doesn't do tao (yet.  when I finally write that, I'll make the 
next libburn release...)

The other modes need that information.  Well, maybe they don't all need 
it, but it's inconvenient to figure out which do/don't...

> An experimental implementation affected in libburn-0.2/libburn
>  libburn.h  file.c  structure.c  source.c
> with not much chance to have damaged anything that existed
> before ... i hope.
> I added an option --fixed_size to libburn-0.2/test/burniso.c
> and just burned successfully via :
>  cat x.iso | test/burniso --fixed_size 131198521 -
> (where 131198521 is the exact size of file x.iso)
> I hope this idea is not too stupid and i hope there aren't
> other major obstacles for my wish to burn on the fly.

Doesn't sound stupid to me.

> Is there a chance to get this into libburn ?
> Are the maintainers interested in my implementation ?
> If yes, in what form ?

Always interested in new functionality.

a diff -pRuN would be great, thanks

More information about the libburn mailing list