Introduced burn_offst_source_new() flag bit0 which bans size changes

This commit is contained in:
Thomas Schmitt 2012-01-23 09:56:53 +00:00
parent a88039e222
commit 6549072dcd
3 changed files with 14 additions and 5 deletions

View File

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

View File

@ -2619,8 +2619,15 @@ 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.
@param flag Bitfield for control purposes (unused yet, submit 0).
>>> bit0 = allow set_size() to override existing sizes > 0
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
@return Pointer to a burn_source object, later to be freed by
burn_source_free(). NULL indicates failure.
@since 0.8.8

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, 0);
(off_t) (file_ba * crs->block_size), (off_t) 0, 1);
if (src == NULL)
goto out_of_mem;
@ -2051,8 +2051,10 @@ cannot_open:;
0, 0);
ret = 0; goto ex;
}
burn_track_set_size(crs->track, crs->source_size -
ret = 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)