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 a75a838af9
commit a88039e222
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
consumer. inp bytes may get skipped to reach this address.
@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
set_size(). If it is >= 0, then it can only be changed if
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
@param flag Bitfield for control purposes (unused yet, submit 0).
>>> bit0 = allow set_size() to override existing sizes > 0
@return Pointer to a burn_source object, later to be freed by
burn_source_free(). NULL indicates failure.
@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
provided memory object
@param handler A function to be called on signals, if the handling bits
in parameter mode are set 0.
It will get parameter handle as argument. flag will be 0.
@param handler A function to be called on signals. It will get handle as
argument. flag will be 0.
It should finally call burn_abort(). See there.
If the handler function returns 2 or -2, then the wrapping
signal handler of libburn will return and let the program
continue its operations. Any other return value causes
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
@param mode : bit0 - bit3:
Receiving signals:
0 Call handler(handle, signum, 0) on nearly all signals
1 Enable system default reaction on all signals
2 Try to ignore nearly all signals
10 like mode 2 but handle SIGABRT like with mode 0

View File

@ -1784,7 +1784,7 @@ overlapping_ba:;
else
inp_src = crs->file_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)
goto out_of_mem;
@ -2051,10 +2051,8 @@ cannot_open:;
0, 0);
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));
if (ret <= 0)
goto ex;
ret = cue_attach_track(session, crs, 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.
# define Libburn_write_with_function_print_cuE yes
*/
#define Libburn_write_with_function_print_cuE yes
#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);
if (track_length < 300 && !burn_track_is_open_ended(tar[i])) {
/* >>> ??? Does this work properly with burn_offst_source ? */;
track_length = 300;
if (!tar[i]->pad)
tar[i]->pad = 1;