Home | History | Annotate | Download | only in libFLAC

Lines Matching refs:FILE

104 static FLAC__bool write_metadata_block_header_(FILE *file, FLAC__Metadata_SimpleIteratorStatus *status, const FLAC__StreamMetadata *block);
105 static FLAC__bool write_metadata_block_data_(FILE *file, FLAC__Metadata_SimpleIteratorStatus *status, const FLAC__StreamMetadata *block);
125 static unsigned seek_to_first_metadata_block_(FILE *f);
127 static FLAC__bool simple_iterator_copy_file_prefix_(FLAC__Metadata_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, FLAC__bool append);
128 static FLAC__bool simple_iterator_copy_file_postfix_(FLAC__Metadata_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, int fixup_is_last_code, off_t fixup_is_last_flag_offset, FLAC__bool backup);
130 static FLAC__bool copy_n_bytes_from_file_(FILE *file, FILE *tempfile, off_t bytes, FLAC__Metadata_SimpleIteratorStatus *status);
132 static FLAC__bool copy_remaining_bytes_from_file_(FILE *file, FILE *tempfile, FLAC__Metadata_SimpleIteratorStatus *status);
135 static FLAC__bool open_tempfile_(const char *filename, const char *tempfile_path_prefix, FILE **tempfile, char **tempfilename, FLAC__Metadata_SimpleIteratorStatus *status);
136 static FLAC__bool transport_tempfile_(const char *filename, FILE **tempfile, char **tempfilename, FLAC__Metadata_SimpleIteratorStatus *status);
137 static void cleanup_tempfile_(FILE **tempfile, char **tempfilename);
149 static size_t local__fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
346 FILE *file;
383 iterator->file = 0;
400 if(0 != iterator->file) {
401 fclose(iterator->file);
402 iterator->file = 0;
441 if(read_only || 0 == (iterator->file = fopen(iterator->filename, "r+b"))) {
444 if(0 == (iterator->file = fopen(iterator->filename, "rb"))) {
458 ret = seek_to_first_metadata_block_(iterator->file);
462 iterator->first_offset = iterator->offset[iterator->depth] = ftello(iterator->file);
484 * FLAC file to grow, the entire file will have to be rewritten. If
485 * 'tempfile_path_prefix' is NULL, the temp file will be written in the
486 * same directory as the original FLAC file. This makes replacing the
524 FLAC__ASSERT(0 != iterator->file);
532 FLAC__ASSERT(0 != iterator->file);
537 if(0 != fseeko(iterator->file, iterator->length, SEEK_CUR)) {
542 iterator->offset[iterator->depth] = ftello(iterator->file);
552 FLAC__ASSERT(0 != iterator->file);
557 if(0 != fseeko(iterator->file, iterator->first_offset, SEEK_SET)) {
566 while(ftello(iterator->file) + (off_t)iterator->length < iterator->offset[iterator->depth]) {
567 if(0 != fseeko(iterator->file, iterator->length, SEEK_CUR)) {
571 this_offset = ftello(iterator->file);
585 FLAC__ASSERT(0 != iterator->file);
594 FLAC__ASSERT(0 != iterator->file);
602 FLAC__ASSERT(0 != iterator->file);
611 FLAC__ASSERT(0 != iterator->file);
622 FLAC__ASSERT(0 != iterator->file);
630 if(fread(id, 1, id_bytes, iterator->file) != id_bytes) {
636 if(0 != fseeko(iterator->file, -((int)id_bytes), SEEK_CUR)) {
649 FLAC__ASSERT(0 != iterator->file);
661 if(0 != fseeko(iterator->file, iterator->offset[iterator->depth] + FLAC__STREAM_METADATA_HEADER_LENGTH, SEEK_SET)) {
679 FLAC__ASSERT(0 != iterator->file);
702 FLAC__ASSERT(!ret || ftello(iterator->file) == debug_target_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
708 FLAC__ASSERT(!ret || ftello(iterator->file) == debug_target_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
751 FLAC__ASSERT(!ret || ftello(iterator->file) == debug_target_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
758 FLAC__ASSERT(!ret || ftello(iterator->file) == debug_target_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
765 FLAC__ASSERT(!ret || ftello(iterator->file) == debug_target_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
780 FLAC__ASSERT(0 != iterator->file);
831 FLAC__ASSERT(ftello(iterator->file
838 FLAC__ASSERT(ftello(iterator->file) == debug_target_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
845 FLAC__ASSERT(ftello(iterator->file) == debug_target_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH);
875 FLAC__ASSERT(ftello(iterator->file) + (off_t)iterator->length == debug_target_offset);
881 FLAC__ASSERT(ftello(iterator->file) + (off_t)iterator->length == debug_target_offset);
909 * This is the length of the chain initially read from the FLAC file.
911 * or not the whole file has to be rewritten.
1150 /* if the metadata grew but the last block is padding, try cutting the padding to restore the original length so we don't have to rewrite the whole file */
1179 /* we assume we're already at the beginning of the file */
1315 /* we assume we're already at the beginning of the file */
1379 FILE *file;
1384 if(0 == (file = fopen(chain->filename, "r+b"))) {
1390 ret = chain_rewrite_metadata_in_place_cb_(chain, (FLAC__IOHandle)file, (FLAC__IOCallback_Write)fwrite, fseek_wrapper_);
1392 fclose(file);
1399 FILE *f, *tempfile;
1408 /* copy the file prefix (data up to first metadata block */
1437 /* copy the file postfix (everything after the metadata) */
1457 /* assumes 'handle' is already at beginning of file */
1467 /* copy the file prefix (data up to first metadata block */
1486 /* copy the file postfix (everything after the metadata) */
1531 FILE *file;
1546 if(0 == (file = fopen(filename, "rb"))) {
1553 chain_read_ogg_cb_(chain, file, (FLAC__IOCallback_Read)fread) :
1554 chain_read_cb_(chain, file, (FLAC__IOCallback_Read)fread, fseek_wrapper_, ftell_wrapper_)
1557 fclose(file);
1631 /* if the metadata grew but the last block is padding, try cutting the padding to restore the original length so we don't have to rewrite the whole file */
2059 FLAC__ASSERT(0 != iterator->file);
2061 if(!read_metadata_block_header_cb_((FLAC__IOHandle)iterator->file, (FLAC__IOCallback_Read)fread, &iterator->is_last, &iterator->type, &iterator->length)) {
2072 FLAC__ASSERT(0 != iterator->file);
2074 iterator->status = read_metadata_block_data_cb_((FLAC__IOHandle)iterator->file, (FLAC__IOCallback_Read)fread, fseek_wrapper_, block);
2485 FLAC__bool write_metadata_block_header_(FILE *file, FLAC__Metadata_SimpleIteratorStatus *status, const FLAC__StreamMetadata *block)
2487 FLAC__ASSERT(0 != file);
2490 if(!write_metadata_block_header_cb_((FLAC__IOHandle)file, (FLAC__IOCallback_Write)fwrite, block)) {
2498 FLAC__bool write_metadata_block_data_(FILE *file, FLAC__Metadata_SimpleIteratorStatus *status, const FLAC__StreamMetadata *block)
2500 FLAC__ASSERT(0 != file);
2503 if (write_metadata_block_data_cb_((FLAC__IOHandle)file, (FLAC__IOCallback_Write)fwrite, block)) {
2840 if(0 != fseeko(iterator->file, iterator->offset[iterator->depth], SEEK_SET)) {
2845 if(!write_metadata_block_header_(iterator->file, &iterator->status, block))
2848 if(!write_metadata_block_data_(iterator->file, &iterator->status, block))
2851 if(0 != fseeko(iterator->file, iterator->offset[iterator->depth], SEEK_SET)) {
2863 if(0 != fseeko(iterator->file, iterator->offset[iterator->depth], SEEK_SET)) {
2870 if(!write_metadata_block_header_(iterator->file, &iterator->status, block))
2873 if(!write_metadata_block_data_(iterator->file, &iterator->status, block))
2882 if(!write_metadata_block_header_(iterator->file, &iterator->status, padding)) {
2887 if(!write_metadata_block_data_(iterator->file, &iterator->status, padding)) {
2894 if(0 != fseeko(iterator->file, iterator->offset[iterator->depth], SEEK_SET)) {
2904 FILE *tempfile;
2964 if(0 != fseeko(iterator->file, iterator->offset[iterator->depth], SEEK_SET)) {
2976 * 3: not a FLAC file
3028 unsigned seek_to_first_metadata_block_(FILE *f)
3033 FLAC__bool simple_iterator_copy_file_prefix_(FLAC__Metadata_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, FLAC__bool append)
3037 if(0 != fseeko(iterator->file, 0, SEEK_SET)) {
3045 if(!copy_n_bytes_from_file_(iterator->file, *tempfile, offset_end, &iterator->status)) {
3053 FLAC__bool simple_iterator_copy_file_postfix_(FLAC__Metadata_SimpleIterator *iterator, FILE **tempfile, char **tempfilename, int fixup_is_last_code, off_t fixup_is_last_flag_offset, FLAC__bool backup)
3058 if(0 != fseeko(iterator->file, save_offset + (off_t)FLAC__STREAM_METADATA_HEADER_LENGTH + (off_t)iterator->length, SEEK_SET)) {
3063 if(!copy_remaining_bytes_from_file_(iterator->file, *tempfile, &iterator->status)) {
3107 (void)fclose(iterator->file);
3132 FLAC__bool copy_n_bytes_from_file_(FILE *file, FILE *tempfile, off_t bytes, FLAC__Metadata_SimpleIteratorStatus *status)
3140 if(fread(buffer, 1, n, file) != n) {
3176 FLAC__bool copy_remaining_bytes_from_file_(FILE *file, FILE *tempfile, FLAC__Metadata_SimpleIteratorStatus *status)
3181 while(!feof(file)) {
3182 n = fread(buffer, 1, sizeof(buffer), file);
3183 if(n == 0 && !feof(file)) {
3216 FLAC__bool open_tempfile_(const char *filename, const char *tempfile_path_prefix, FILE **tempfile, char **tempfilename, FLAC__Metadata_SimpleIteratorStatus *status)
3252 FLAC__bool transport_tempfile_(const char *filename, FILE **tempfile, char **tempfilename, FLAC__Metadata_SimpleIteratorStatus *status)
3285 void cleanup_tempfile_(FILE **tempfile, char **tempfilename)
3325 return fseeko((FILE*)handle, (off_t)offset, whence);
3330 return ftello((FILE*)handle);