X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=mp3.c;h=4bd8888767406187d51f2f40f87cd8cc25d8c345;hp=ab05d2e7d62989e61305700cbccf997d2b3641ff;hb=f3ebfd3dcb117f1c4a91c2c9f08d8ed710ee3907;hpb=586cea4b850e53eedf7426379f6af6a7e76dee6e diff --git a/mp3.c b/mp3.c index ab05d2e7..4bd88887 100644 --- a/mp3.c +++ b/mp3.c @@ -31,7 +31,9 @@ #include "server.cmdline.h" #include "server.h" #include "afs.h" +#include "afh.h" #include "error.h" +#include "fd.h" /** \cond some defines and structs which are only used in this file */ @@ -106,17 +108,7 @@ static const char *mode_text[] = {"stereo", "joint stereo", "dual channel", "mon static struct mp3info mp3; static char mp3buf[8192]; static int chunk_size; -static struct audio_format *af; - -static __must_check int para_fread(void *ptr, size_t size, size_t nmemb, FILE *stream) -{ - size_t res = fread(ptr, size, nmemb, stream); - if (res == nmemb) - return size * nmemb; - if (feof(stream)) - return 0; - return -E_FREAD; -} +static struct audio_format_handler *af; static int header_frequency(struct mp3header *h) { @@ -490,7 +482,8 @@ static void mp3_close_audio_file(void) mp3.file = NULL; } -void mp3_init(void *p) +static const char* mp3_suffixes[] = {"mp3", NULL}; +void mp3_init(struct audio_format_handler *p) { af = p; af->get_file_info = mp3_get_file_info; @@ -501,4 +494,5 @@ void mp3_init(void *p) /* eof_tv gets overwritten in mp3_get_file_info() */ af->eof_tv.tv_sec = 0; af->eof_tv.tv_usec = 100 * 1000; + af->suffixes = mp3_suffixes; }