XMMS2
src/includepriv/xmmspriv/xmms_xform_plugin.h
Go to the documentation of this file.
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