annotate libaudacious/xconvert.h @ 227:539a0fa7f030 trunk

[svn] Unicode support fixes, based on an XMMS patch written by Ilya Konstantinov. <ikonst@users.sourceforge.net>: - Fixes UTF16 to UTF8 down-conversion. - Fixes length management of UTF8 entities. - Doesn't break ASCII support. - Corrects several issues with the original implementation.
author nenolod
date Fri, 25 Nov 2005 20:23:40 -0800
parents cb178e5ad177
children 53a3d5db6b58
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
1 /*
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
2 * Copyright (C) 2003 Haavard Kvaalen <havardk@xmms.org>
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
3 *
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
4 * Licensed under GNU LGPL version 2.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
5 */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
6
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
7 #include <audacious/plugin.h>
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
8
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
9 void convert_free_buffer(void);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
10
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
11 struct xmms_convert_buffers;
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
12
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
13 struct xmms_convert_buffers *xmms_convert_buffers_new(void);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
14 /*
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
15 * Free the data assosiated with the buffers, without destroying the
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
16 * context. The context can be reused.
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
17 */
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
18 void xmms_convert_buffers_free(struct xmms_convert_buffers *buf);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
19 void xmms_convert_buffers_destroy(struct xmms_convert_buffers *buf);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
20
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
21
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
22 typedef int (*convert_func_t) (struct xmms_convert_buffers * buf,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
23 void **data, int length);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
24 typedef int (*convert_channel_func_t) (struct xmms_convert_buffers * buf,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
25 void **data, int length);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
26 typedef int (*convert_freq_func_t) (struct xmms_convert_buffers * buf,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
27 void **data, int length, int ifreq,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
28 int ofreq);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
29
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
30
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
31 convert_func_t xmms_convert_get_func(AFormat output, AFormat input);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
32 convert_channel_func_t xmms_convert_get_channel_func(AFormat fmt,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
33 int output,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
34 int input);
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
35 convert_freq_func_t xmms_convert_get_frequency_func(AFormat fmt,
cb178e5ad177 [svn] Import audacious source.
nenolod
parents:
diff changeset
36 int channels);