/* format_mp3.c ** ** format plugin for mp3 (no metadata) ** */ #include #include #include #include "refbuf.h" #include "stats.h" #include "format.h" static void format_mp3_free_plugin(format_plugin_t *self); static int format_mp3_get_buffer(format_plugin_t *self, char *data, unsigned long len, refbuf_t **buffer); static refbuf_queue_t *format_mp3_get_predata(format_plugin_t *self); static void *format_mp3_create_client_data(format_plugin_t *self); format_plugin_t *format_mp3_get_plugin(void) { format_plugin_t *plugin; plugin = (format_plugin_t *)malloc(sizeof(format_plugin_t)); plugin->type = FORMAT_TYPE_MP3; plugin->has_predata = 0; plugin->get_buffer = format_mp3_get_buffer; plugin->get_predata = format_mp3_get_predata; plugin->write_buf_to_client = format_generic_write_buf_to_client; plugin->create_client_data = format_mp3_create_client_data; plugin->free_plugin = format_mp3_free_plugin; plugin->format_description = "MP3 audio"; plugin->_state = NULL; return plugin; } void format_mp3_free_plugin(format_plugin_t *self) { /* free the plugin instance */ free(self); } int format_mp3_get_buffer(format_plugin_t *self, char *data, unsigned long len, refbuf_t **buffer) { refbuf_t *refbuf; if(!data) { *buffer = NULL; return 0; } refbuf = refbuf_new(len); memcpy(refbuf->data, data, len); *buffer = refbuf; return 0; } refbuf_queue_t *format_mp3_get_predata(format_plugin_t *self) { return NULL; } static void *format_mp3_create_client_data(format_plugin_t *self) { return NULL; }