mirror of
https://github.com/claunia/flac.git
synced 2025-12-16 18:54:26 +00:00
update to match new way of passing metadata to stream encoder
This commit is contained in:
@@ -85,7 +85,7 @@ FLAC__bool file_utils__remove_file(const char *filename)
|
|||||||
return file_utils__change_stats(filename, /*read_only=*/false) && 0 == unlink(filename);
|
return file_utils__change_stats(filename, /*read_only=*/false) && 0 == unlink(filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned length, const FLAC__StreamMetaData *streaminfo, int padding_length)
|
FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned length, const FLAC__StreamMetaData *streaminfo, FLAC__StreamMetaData **metadata, unsigned num_metadata)
|
||||||
{
|
{
|
||||||
FLAC__int32 samples[1024];
|
FLAC__int32 samples[1024];
|
||||||
FLAC__StreamEncoder *encoder;
|
FLAC__StreamEncoder *encoder;
|
||||||
@@ -95,7 +95,7 @@ FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned l
|
|||||||
FLAC__ASSERT(0 != output_filename);
|
FLAC__ASSERT(0 != output_filename);
|
||||||
FLAC__ASSERT(0 != streaminfo);
|
FLAC__ASSERT(0 != streaminfo);
|
||||||
FLAC__ASSERT(streaminfo->type == FLAC__METADATA_TYPE_STREAMINFO);
|
FLAC__ASSERT(streaminfo->type == FLAC__METADATA_TYPE_STREAMINFO);
|
||||||
FLAC__ASSERT((streaminfo->is_last && padding_length < 0) || (!streaminfo->is_last && padding_length >= 0));
|
FLAC__ASSERT((streaminfo->is_last && num_metadata == 0) || (!streaminfo->is_last && num_metadata > 0));
|
||||||
|
|
||||||
if(0 == (encoder_client_data.file = fopen(output_filename, "wb")))
|
if(0 == (encoder_client_data.file = fopen(output_filename, "wb")))
|
||||||
return false;
|
return false;
|
||||||
@@ -122,9 +122,7 @@ FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned l
|
|||||||
FLAC__stream_encoder_set_max_residual_partition_order(encoder, 0);
|
FLAC__stream_encoder_set_max_residual_partition_order(encoder, 0);
|
||||||
FLAC__stream_encoder_set_rice_parameter_search_dist(encoder, 0);
|
FLAC__stream_encoder_set_rice_parameter_search_dist(encoder, 0);
|
||||||
FLAC__stream_encoder_set_total_samples_estimate(encoder, streaminfo->data.stream_info.total_samples);
|
FLAC__stream_encoder_set_total_samples_estimate(encoder, streaminfo->data.stream_info.total_samples);
|
||||||
FLAC__stream_encoder_set_seek_table(encoder, 0);
|
FLAC__stream_encoder_set_metadata(encoder, metadata, num_metadata);
|
||||||
FLAC__stream_encoder_set_padding(encoder, padding_length);
|
|
||||||
FLAC__stream_encoder_set_last_metadata_is_last(encoder, true);
|
|
||||||
FLAC__stream_encoder_set_write_callback(encoder, encoder_write_callback_);
|
FLAC__stream_encoder_set_write_callback(encoder, encoder_write_callback_);
|
||||||
FLAC__stream_encoder_set_metadata_callback(encoder, encoder_metadata_callback_);
|
FLAC__stream_encoder_set_metadata_callback(encoder, encoder_metadata_callback_);
|
||||||
FLAC__stream_encoder_set_client_data(encoder, &encoder_client_data);
|
FLAC__stream_encoder_set_client_data(encoder, &encoder_client_data);
|
||||||
|
|||||||
@@ -22,4 +22,4 @@ FLAC__bool file_utils__change_stats(const char *filename, FLAC__bool read_only);
|
|||||||
|
|
||||||
FLAC__bool file_utils__remove_file(const char *filename);
|
FLAC__bool file_utils__remove_file(const char *filename);
|
||||||
|
|
||||||
FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned length, const FLAC__StreamMetaData *streaminfo, int padding_length);
|
FLAC__bool file_utils__generate_flacfile(const char *output_filename, unsigned length, const FLAC__StreamMetaData *streaminfo, FLAC__StreamMetaData **metadata, unsigned num_metadata);
|
||||||
|
|||||||
@@ -264,6 +264,7 @@ static void decoder_metadata_callback_compare_(const FLAC__FileDecoder *decoder,
|
|||||||
static FLAC__bool generate_file_()
|
static FLAC__bool generate_file_()
|
||||||
{
|
{
|
||||||
FLAC__StreamMetaData streaminfo, padding;
|
FLAC__StreamMetaData streaminfo, padding;
|
||||||
|
FLAC__StreamMetaData *metadata[1];
|
||||||
|
|
||||||
printf("generating FLAC file for test\n");
|
printf("generating FLAC file for test\n");
|
||||||
|
|
||||||
@@ -287,10 +288,12 @@ static FLAC__bool generate_file_()
|
|||||||
padding.type = FLAC__METADATA_TYPE_PADDING;
|
padding.type = FLAC__METADATA_TYPE_PADDING;
|
||||||
padding.length = 1234;
|
padding.length = 1234;
|
||||||
|
|
||||||
|
metadata[0] = &padding;
|
||||||
|
|
||||||
if(!insert_to_our_metadata_(&streaminfo, 0, /*copy=*/true) || !insert_to_our_metadata_(&padding, 1, /*copy=*/true))
|
if(!insert_to_our_metadata_(&streaminfo, 0, /*copy=*/true) || !insert_to_our_metadata_(&padding, 1, /*copy=*/true))
|
||||||
return die_("priming our metadata");
|
return die_("priming our metadata");
|
||||||
|
|
||||||
if(!file_utils__generate_flacfile(flacfile_, 512 * 1024, &streaminfo, padding.length))
|
if(!file_utils__generate_flacfile(flacfile_, 512 * 1024, &streaminfo, metadata, 1))
|
||||||
return die_("creating the encoded file");
|
return die_("creating the encoded file");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in New Issue
Block a user