Enabled -isosize for first track by help of fifo and without seeking

This commit is contained in:
2007-03-28 10:07:09 +00:00
parent 5d65697697
commit cc5560fc86
4 changed files with 169 additions and 79 deletions

View File

@ -1242,7 +1242,6 @@ enum burn_source_status burn_track_set_source(struct burn_track *t,
*/
int burn_track_set_default_size(struct burn_track *t, off_t size);
/** Free a burn_source (decrease its refcount and maybe free it)
@param s Source to free
*/
@ -1263,6 +1262,16 @@ struct burn_source *burn_file_source_new(const char *path,
struct burn_source *burn_fd_source_new(int datafd, int subfd, off_t size);
/* ts A70328 */
/** Sets a fixed track size after the data source object has already been
created.
@param t The track to poperate on
@param size the number of bytes to use as track size
@return <=0 indicates failure , >0 success
*/
int burn_track_set_size(struct burn_track *t, off_t size);
/** Tells how long a track will be on disc
>>> NOTE: Not reliable with tracks of undefined length
*/

View File

@ -353,9 +353,13 @@ int burn_track_set_sectors(struct burn_track *t, int sectors)
}
/* ts A70218 */
/* ts A70218 , API since A70328 */
int burn_track_set_size(struct burn_track *t, off_t size)
{
if (t->source == NULL)
return 0;
if (t->source->set_size == NULL)
return 0;
t->open_ended = (size <= 0);
return t->source->set_size(t->source, size);
}