Counting post-gap as part of track with burn_track_get_sectors()

This commit is contained in:
Thomas Schmitt 2012-01-23 09:54:20 +00:00
parent cdb198bb0b
commit 64713c0881
4 changed files with 15 additions and 25 deletions

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2012.01.22.194131" #define Cdrskin_timestamP "2012.01.19.210418"

View File

@ -2619,15 +2619,8 @@ struct burn_source *burn_fd_source_new(int datafd, int subfd, off_t size);
@param start The byte address where to start reading bytes for the @param start The byte address where to start reading bytes for the
consumer. inp bytes may get skipped to reach this address. consumer. inp bytes may get skipped to reach this address.
@param size The number of bytes to be delivered to the consumer. @param size The number of bytes to be delivered to the consumer.
If size is <= 0 then it may be set later by a call of method @param flag Bitfield for control purposes (unused yet, submit 0).
set_size(). If it is >= 0, then it can only be changed if >>> bit0 = allow set_size() to override existing sizes > 0
flag bit0 was set with burn_offst_source_new().
@param flag Bitfield for control purposes
bit0 = Prevent set_size() from overriding interval sizes > 0.
If such a size is already set, then the new one will
only affect the reply of get_size().
See also above struct burn_source.
@since 1.2.0
@return Pointer to a burn_source object, later to be freed by @return Pointer to a burn_source object, later to be freed by
burn_source_free(). NULL indicates failure. burn_source_free(). NULL indicates failure.
@since 0.8.8 @since 0.8.8
@ -3622,17 +3615,12 @@ typedef int (*burn_abort_handler_t)(void *handle, int signum, int flag);
@param handle Opaque handle eventually pointing to an application @param handle Opaque handle eventually pointing to an application
provided memory object provided memory object
@param handler A function to be called on signals, if the handling bits @param handler A function to be called on signals. It will get handle as
in parameter mode are set 0. argument. flag will be 0.
It will get parameter handle as argument. flag will be 0.
It should finally call burn_abort(). See there. It should finally call burn_abort(). See there.
If the handler function returns 2 or -2, then the wrapping @param mode : bit0 - bit3:
signal handler of libburn will return and let the program Receiving signals:
continue its operations. Any other return value causes 0 Call handler(handle, signum, 0) on nearly all signals
exit(1).
@param mode : bit0 - bit3: Handling of received signals:
0 Install libburn wrapping signal handler, which will call
handler(handle, signum, 0) on nearly all signals
1 Enable system default reaction on all signals 1 Enable system default reaction on all signals
2 Try to ignore nearly all signals 2 Try to ignore nearly all signals
10 like mode 2 but handle SIGABRT like with mode 0 10 like mode 2 but handle SIGABRT like with mode 0

View File

@ -1784,7 +1784,7 @@ overlapping_ba:;
else else
inp_src = crs->file_source; inp_src = crs->file_source;
src = burn_offst_source_new(inp_src, crs->offst_source, src = burn_offst_source_new(inp_src, crs->offst_source,
(off_t) (file_ba * crs->block_size), (off_t) 0, 1); (off_t) (file_ba * crs->block_size), (off_t) 0, 0);
if (src == NULL) if (src == NULL)
goto out_of_mem; goto out_of_mem;
@ -2051,10 +2051,8 @@ cannot_open:;
0, 0); 0, 0);
ret = 0; goto ex; ret = 0; goto ex;
} }
ret = burn_track_set_size(crs->track, crs->source_size - burn_track_set_size(crs->track, crs->source_size -
(off_t) (crs->current_file_ba * crs->block_size)); (off_t) (crs->current_file_ba * crs->block_size));
if (ret <= 0)
goto ex;
ret = cue_attach_track(session, crs, 0); ret = cue_attach_track(session, crs, 0);
if (ret <= 0) if (ret <= 0)

View File

@ -301,7 +301,6 @@ int burn_write_close_session(struct burn_write_opts *o)
This is useful only when changes about CD SAO get tested. This is useful only when changes about CD SAO get tested.
# define Libburn_write_with_function_print_cuE yes # define Libburn_write_with_function_print_cuE yes
*/ */
#define Libburn_write_with_function_print_cuE yes
#ifdef Libburn_write_with_function_print_cuE #ifdef Libburn_write_with_function_print_cuE
@ -611,6 +610,11 @@ struct cue_sheet *burn_create_toc_entries(struct burn_write_opts *o,
*/ */
track_length = burn_track_get_sectors_2(tar[i], 1); track_length = burn_track_get_sectors_2(tar[i], 1);
if (track_length < 300 && !burn_track_is_open_ended(tar[i])) { if (track_length < 300 && !burn_track_is_open_ended(tar[i])) {
/* >>> ??? Does this work properly with burn_offst_source ? */;
track_length = 300; track_length = 300;
if (!tar[i]->pad) if (!tar[i]->pad)
tar[i]->pad = 1; tar[i]->pad = 1;