Experimentally enabled burning to BURN_DISC_APPENDABLE (tested with TAO only)

This commit is contained in:
Thomas Schmitt 2006-11-09 19:29:39 +00:00
parent 2606441e3e
commit 1082e7df20
4 changed files with 19 additions and 6 deletions

View File

@ -3374,9 +3374,9 @@ int Cdrskin_checkdrive(struct CdrskiN *skin, int flag)
/* <<< */
if(skin->verbosity>=Cdrskin_verbose_debuG)
ClN(fprintf(stderr,
"cdrskin_debug: block_types: tao=%4.4X sao=%4.4X raw=%4.4X packet=%4.4X\n",
"cdrskin_debug: block_types: tao=%4.4X sao=%4.4X raw=%4.4X\n",
drive_info->tao_block_types,drive_info->sao_block_types,
drive_info->raw_block_types,drive_info->packet_block_types));
drive_info->raw_block_types));
printf("Supported modes:");
if((drive_info->tao_block_types & (BURN_BLOCK_MODE1|BURN_BLOCK_RAW0))
@ -4119,7 +4119,11 @@ int Cdrskin_burn(struct CdrskiN *skin, int flag)
if(skin->verbosity>=Cdrskin_verbose_progresS)
Cdrskin_report_disc_status(skin,s,0);
#ifdef Cdrskin_libburn_has_multI
if (s != BURN_DISC_BLANK && s != BURN_DISC_APPENDABLE) {
#else
if (s != BURN_DISC_BLANK) {
#endif
Cdrskin_release_drive(skin,0);
fprintf(stderr,"cdrskin: FATAL : no blank media detected.\n");
return(0);

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2006.11.09.151431"
#define Cdrskin_timestamP "2006.11.09.193030"

View File

@ -740,6 +740,7 @@ void burn_read_opts_free(struct burn_read_opts *opts);
*/
void burn_disc_erase(struct burn_drive *drive, int fast);
/* ts A61109 : this is defunct */
/** Read a disc from the drive and write it to an fd pair. The drive must be
grabbed successfully BEFORE calling this function. Always ensure that the
drive reports a status of BURN_DISC_FULL before calling this function.
@ -748,10 +749,9 @@ void burn_disc_erase(struct burn_drive *drive, int fast);
*/
void burn_disc_read(struct burn_drive *drive, const struct burn_read_opts *o);
/** Write a disc in the drive. The drive must be grabbed successfully BEFORE
/** Write a disc in the drive. The drive must be grabbed successfully before
calling this function. Always ensure that the drive reports a status of
BURN_DISC_BLANK or BURN_STATUS_FULL (to append a new session to the
disc) before calling this function.
BURN_DISC_BLANK before calling this function.
@param o The options for the writing operation.
@param disc The struct burn_disc * that described the disc to be created
*/

View File

@ -334,11 +334,20 @@ struct cue_sheet *burn_create_toc_entries(struct burn_write_opts *o,
/* ts A61009 */
/* a ssert(d->toc_entry == NULL); */
if (d->toc_entry != NULL) {
/* ts A61109 : this happens with appendable CDs
>>> Open question: is the existing TOC needed ? */
/* ts A61109 : for non-SAO, this sheet is thrown away later */
free((char *) d->toc_entry);
/*
libdax_msgs_submit(libdax_messenger,
d->global_index, 0x00020117,
LIBDAX_MSGS_SEV_FATAL, LIBDAX_MSGS_PRIO_HIGH,
"toc_entry of drive is already in use", 0, 0);
goto failed;
*/
}
d->toc_entry = calloc(d->toc_entries, sizeof(struct burn_toc_entry));