Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Stefan Strogin
flac
Commits
38162d5a
Commit
38162d5a
authored
Nov 16, 2002
by
Josh Coalson
Browse files
add more reserved space to CUESHEET implementation
parent
863dbf3b
Changes
5
Hide whitespace changes
Inline
Side-by-side
include/FLAC/format.h
View file @
38162d5a
...
...
@@ -663,7 +663,9 @@ typedef struct {
extern
FLAC_API
const
unsigned
FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN
;
/**< == 128*8 (bits) */
extern
FLAC_API
const
unsigned
FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN
;
/**< == 64 (bits) */
extern
FLAC_API
const
unsigned
FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
;
/**< == @@@@256*8 (bits) */
extern
FLAC_API
const
unsigned
FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
;
/**< == 8 (bits) */
/*@@@@@ RESERVED SPACE HERE*/
/** FLAC metadata block structure. (c.f. <A HREF="../format.html#metadata_block">format specification</A>)
...
...
src/libFLAC/format.c
View file @
38162d5a
...
...
@@ -81,6 +81,7 @@ FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN = 8
FLAC_API
const
unsigned
FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN
=
128
*
8
;
/* bits */
FLAC_API
const
unsigned
FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN
=
64
;
/* bits */
FLAC_API
const
unsigned
FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
=
256
*
8
;
/* bits @@@@256 */
FLAC_API
const
unsigned
FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
=
8
;
/* bits */
FLAC_API
const
unsigned
FLAC__STREAM_METADATA_IS_LAST_LEN
=
1
;
/* bits */
...
...
src/libFLAC/metadata_iterators.c
View file @
38162d5a
...
...
@@ -1521,7 +1521,7 @@ FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_vorbis_comment_(FIL
if
(
block
->
num_comments
==
0
)
{
block
->
comments
=
0
;
}
else
if
(
0
==
(
block
->
comments
=
(
FLAC__StreamMetadata_VorbisComment_Entry
*
)
calloc
(
sizeof
(
FLAC__StreamMetadata_VorbisComment_Entry
)
,
block
->
num_comments
)))
else
if
(
0
==
(
block
->
comments
=
(
FLAC__StreamMetadata_VorbisComment_Entry
*
)
calloc
(
block
->
num_comments
,
sizeof
(
FLAC__StreamMetadata_VorbisComment_Entry
))))
return
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR
;
for
(
i
=
0
;
i
<
block
->
num_comments
;
i
++
)
{
...
...
@@ -1607,7 +1607,7 @@ FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_cuesheet_(FILE *fil
{
unsigned
i
,
len
;
FLAC__Metadata_SimpleIteratorStatus
status
;
FLAC__byte
buffer
[
sizeof
(
FLAC__uint64
)];
/* the largest object we'll read in one shot */
FLAC__byte
buffer
[
max
(
sizeof
(
FLAC__uint64
)
,
FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
/
8
)
];
/* the largest object we'll read in one shot */
FLAC__ASSERT
(
0
!=
file
);
...
...
@@ -1622,6 +1622,11 @@ FLAC__Metadata_SimpleIteratorStatus read_metadata_block_data_cuesheet_(FILE *fil
return
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR
;
block
->
lead_in
=
unpack_uint64_
(
buffer
,
len
);
FLAC__ASSERT
(
FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
%
8
==
0
);
len
=
FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
/
8
;
if
(
fread
(
buffer
,
1
,
len
,
file
)
!=
len
)
return
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR
;
FLAC__ASSERT
(
FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
%
8
==
0
);
len
=
FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
/
8
;
if
(
fread
(
buffer
,
1
,
len
,
file
)
!=
len
)
...
...
@@ -1814,9 +1819,10 @@ FLAC__Metadata_SimpleIteratorStatus write_metadata_block_data_vorbis_comment_(FI
FLAC__Metadata_SimpleIteratorStatus
write_metadata_block_data_cuesheet_
(
FILE
*
file
,
const
FLAC__StreamMetadata_CueSheet
*
block
)
{
unsigned
i
,
j
,
len
;
FLAC__byte
buffer
[
32
];
/* asserted below that this is big enough */
FLAC__byte
buffer
[
1024
];
/* asserted below that this is big enough */
FLAC__ASSERT
(
sizeof
(
buffer
)
>=
sizeof
(
FLAC__uint64
));
FLAC__ASSERT
(
sizeof
(
buffer
)
>=
FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
/
8
);
FLAC__ASSERT
(
sizeof
(
buffer
)
>=
(
FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN
+
FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN
+
FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN
)
/
8
);
FLAC__ASSERT
(
sizeof
(
buffer
)
>=
FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN
/
8
);
...
...
@@ -1833,6 +1839,12 @@ FLAC__Metadata_SimpleIteratorStatus write_metadata_block_data_cuesheet_(FILE *fi
if
(
fwrite
(
buffer
,
1
,
len
,
file
)
!=
len
)
return
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR
;
FLAC__ASSERT
(
FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
%
8
==
0
);
len
=
FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
/
8
;
memset
(
buffer
,
0
,
len
);
if
(
fwrite
(
buffer
,
1
,
len
,
file
)
!=
len
)
return
FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR
;
FLAC__ASSERT
(
FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
%
8
==
0
);
len
=
FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
/
8
;
pack_uint32_
(
block
->
num_tracks
,
buffer
,
len
);
...
...
src/libFLAC/stream_decoder.c
View file @
38162d5a
...
...
@@ -1128,6 +1128,9 @@ FLAC__bool read_metadata_cuesheet_(FLAC__StreamDecoder *decoder, FLAC__StreamMet
if
(
!
FLAC__bitbuffer_read_raw_uint64
(
decoder
->
private_
->
input
,
&
obj
->
lead_in
,
FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN
,
read_callback_
,
decoder
))
return
false
;
/* the read_callback_ sets the state for us */
if
(
!
FLAC__bitbuffer_skip_bits_no_crc
(
decoder
->
private_
->
input
,
FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
,
read_callback_
,
decoder
))
return
false
;
/* the read_callback_ sets the state for us */
if
(
!
FLAC__bitbuffer_read_raw_uint32
(
decoder
->
private_
->
input
,
&
x
,
FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
,
read_callback_
,
decoder
))
return
false
;
/* the read_callback_ sets the state for us */
obj
->
num_tracks
=
x
;
...
...
src/libFLAC/stream_encoder_framing.c
View file @
38162d5a
...
...
@@ -125,6 +125,8 @@ FLAC__bool FLAC__add_metadata_block(const FLAC__StreamMetadata *metadata, FLAC__
return
false
;
if
(
!
FLAC__bitbuffer_write_raw_uint64
(
bb
,
metadata
->
data
.
cue_sheet
.
lead_in
,
FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN
))
return
false
;
if
(
!
FLAC__bitbuffer_write_zeroes
(
bb
,
FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
))
return
false
;
if
(
!
FLAC__bitbuffer_write_raw_uint32
(
bb
,
metadata
->
data
.
cue_sheet
.
num_tracks
,
FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
))
return
false
;
for
(
i
=
0
;
i
<
metadata
->
data
.
cue_sheet
.
num_tracks
;
i
++
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment