XMMS2
|
00001 /* XMMS2 - X Music Multiplexer System 00002 * Copyright (C) 2003-2011 XMMS2 Team 00003 * 00004 * PLUGINS ARE NOT CONSIDERED TO BE DERIVED WORK !!! 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Lesser General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2.1 of the License, or (at your option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Lesser General Public License for more details. 00015 */ 00016 #ifndef __XMMSPRIV_XFORMPLUGIN_H__ 00017 #define __XMMSPRIV_XFORMPLUGIN_H__ 00018 00019 gboolean xmms_xform_plugin_can_init (const xmms_xform_plugin_t *plugin); 00020 gboolean xmms_xform_plugin_can_read (const xmms_xform_plugin_t *plugin); 00021 gboolean xmms_xform_plugin_can_seek (const xmms_xform_plugin_t *plugin); 00022 gboolean xmms_xform_plugin_can_browse (const xmms_xform_plugin_t *plugin); 00023 gboolean xmms_xform_plugin_can_destroy (const xmms_xform_plugin_t *plugin); 00024 00025 gboolean xmms_xform_plugin_init (const xmms_xform_plugin_t *plugin, xmms_xform_t *xform); 00026 gint xmms_xform_plugin_read (const xmms_xform_plugin_t *plugin, xmms_xform_t *xform, xmms_sample_t *buf, gint length, xmms_error_t *error); 00027 gint64 xmms_xform_plugin_seek (const xmms_xform_plugin_t *plugin, xmms_xform_t *xform, gint64 offset, xmms_xform_seek_mode_t whence, xmms_error_t *err); 00028 gboolean xmms_xform_plugin_browse (const xmms_xform_plugin_t *plugin, xmms_xform_t *xform, const gchar *url, xmms_error_t *error); 00029 void xmms_xform_plugin_destroy (const xmms_xform_plugin_t *plugin, xmms_xform_t *xform); 00030 00031 gboolean xmms_xform_plugin_supports (const xmms_xform_plugin_t *plugin, xmms_stream_type_t *st, gint *priority); 00032 00033 #endif