Changeset 3 for trunk/src/mpc_reader.c
- Timestamp:
- 08/12/06 16:21:35 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/mpc_reader.c
r1 r3 36 36 /// Contains implementations for simple file-based mpc_reader 37 37 38 #include "musepack/musepack.h"38 #include <mpcdec/mpcdec.h> 39 39 40 40 /// mpc_reader callback implementations … … 42 42 read_impl(void *data, void *ptr, mpc_int32_t size) 43 43 { 44 mpc_reader *d = (mpc_reader*) data;44 mpc_reader_file *d = (mpc_reader_file *) data; 45 45 46 46 return fread(ptr, 1, size, d->file); 47 47 } 48 48 49 static BOOL50 seek_impl(void *data, int offset)49 static mpc_bool_t 50 seek_impl(void *data, mpc_int32_t offset) 51 51 { 52 mpc_reader *d = (mpc_reader*) data;52 mpc_reader_file *d = (mpc_reader_file *) data; 53 53 54 54 return d->is_seekable ? !fseek(d->file, offset, SEEK_SET) : FALSE; … … 58 58 tell_impl(void *data) 59 59 { 60 mpc_reader *d = (mpc_reader*) data;60 mpc_reader_file *d = (mpc_reader_file *) data; 61 61 62 62 return ftell(d->file); … … 66 66 get_size_impl(void *data) 67 67 { 68 mpc_reader *d = (mpc_reader*) data;68 mpc_reader_file *d = (mpc_reader_file *) data; 69 69 70 70 return d->file_size; 71 71 } 72 72 73 static BOOL73 static mpc_bool_t 74 74 canseek_impl(void *data) 75 75 { 76 mpc_reader *d = (mpc_reader*) data;76 mpc_reader_file *d = (mpc_reader_file *) data; 77 77 78 78 return d->is_seekable; … … 80 80 81 81 void 82 mpc_reader_setup_file_reader(mpc_reader *reader, FILE *input)82 mpc_reader_setup_file_reader(mpc_reader_file *p_reader, FILE *input) 83 83 { 84 reader->seek = seek_impl;85 reader->read = read_impl;86 reader->tell = tell_impl;87 reader->get_size = get_size_impl;88 reader->canseek = canseek_impl;89 reader->data =reader; // point back to ourselves84 p_reader->reader.seek = seek_impl; 85 p_reader->reader.read = read_impl; 86 p_reader->reader.tell = tell_impl; 87 p_reader->reader.get_size = get_size_impl; 88 p_reader->reader.canseek = canseek_impl; 89 p_reader->reader.data = p_reader; // point back to ourselves 90 90 91 reader->file = input;92 reader->is_seekable = TRUE;93 fseek( reader->file, 0, SEEK_END);94 reader->file_size = ftell(reader->file);95 fseek( reader->file, 0, SEEK_SET);91 p_reader->file = input; 92 p_reader->is_seekable = TRUE; 93 fseek(input, 0, SEEK_END); 94 p_reader->file_size = ftell(input); 95 fseek(input, 0, SEEK_SET); 96 96 }
Note: See TracChangeset
for help on using the changeset viewer.