annotate Plugins/Output/jack/xconvert.h @ 811:86ca43d8a845 trunk

[svn] - implement vfs_feof() and vfs_ftell() and update the scrobbler plugin to reflect that, by external contributor: Leonardo Boshell <leonardop -at- gentoo.org>
author nenolod
date Thu, 09 Mar 2006 19:03:27 -0800
parents ea321d1dae48
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
325
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
1 /*
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
2 * Copyright (C) 2003 Haavard Kvaalen <havardk@xmms.org>
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
3 *
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
4 * Licensed under GNU LGPL version 2.
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
5 */
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
6
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
7
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
8
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
9 #include "audacious/plugin.h"
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
10
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
11 void convert_free_buffer(void);
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
12
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
13 struct xmms_convert_buffers;
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
14
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
15 struct xmms_convert_buffers* xmms_convert_buffers_new(void);
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
16 /*
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
17 * Free the data assosiated with the buffers, without destroying the
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
18 * context. The context can be reused.
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
19 */
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
20 void xmms_convert_buffers_free(struct xmms_convert_buffers* buf);
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
21 void xmms_convert_buffers_destroy(struct xmms_convert_buffers* buf);
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
22
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
23
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
24 typedef int (*convert_func_t)(struct xmms_convert_buffers* buf, void **data, int length);
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
25 typedef int (*convert_channel_func_t)(struct xmms_convert_buffers* buf, void **data, int length);
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
26 typedef int (*convert_freq_func_t)(struct xmms_convert_buffers* buf, void **data, int length, int ifreq, int ofreq);
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
27
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
28
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
29 convert_func_t xmms_convert_get_func(AFormat output, AFormat input);
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
30 convert_channel_func_t xmms_convert_get_channel_func(AFormat fmt, int output, int input);
ea321d1dae48 [svn] JACKd output plugin via external contractor james@develia.org.
nenolod
parents:
diff changeset
31 convert_freq_func_t xmms_convert_get_frequency_func(AFormat fmt, int channels);