annotate libao2/audio_plugin.h @ 3551:314987c0aaf4

Fixed the multiple ASF header stream chunk.
author bertrand
date Mon, 17 Dec 2001 01:58:24 +0000
parents af2a76fdba9c
children 5f5189ac6a41
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3194
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
1 #ifndef __audio_plugin_h__
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
2 #define __audio_plugin_h__
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
3
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
4 // Functions supplied by plugins
3096
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
5 typedef struct ao_plugin_functions_s
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
6 {
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
7 ao_info_t *info;
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
8 int (*control)(int cmd,int arg);
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
9 int (*init)();
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
10 void (*uninit)();
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
11 void (*reset)();
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
12 int (*play)();
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
13 } ao_plugin_functions_t;
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
14
3194
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
15 // Global data for all audio plugins
3096
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
16 typedef struct ao_plugin_data_s
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
17 {
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
18 void* data; /* current data block read only ok to change */
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
19 int len; /* setup and current buffer length */
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
20 int rate; /* setup data rate */
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
21 int channels; /* setup number of channels */
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
22 int format; /* setup format */
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
23 double sz_mult; /* Buffer size multiplier */
3107
ef2287ccc42b Changes to audio out plugin, first plugin added
anders
parents: 3096
diff changeset
24 double sz_fix; /* Fix (as in static) extra buffer size */
3096
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
25 float delay_mult; /* Delay multiplier */
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
26 float delay_fix; /* Fix delay */
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
27 }ao_plugin_data_t;
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
28
3335
af2a76fdba9c CVS is still broken with gcc3. This fixes it.
pl
parents: 3315
diff changeset
29 extern volatile ao_plugin_data_t ao_plugin_data;
3096
15abd9121737 ao_plugin.c and plugin headers added
anders
parents:
diff changeset
30
3194
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
31 // Plugin confuguration data set by cmd-line parameters
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
32 typedef struct ao_plugin_cfg_s
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
33 {
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
34 char* plugin_list; // List of used plugins read from cfg
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
35 int pl_format_type; // Output format
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
36 int pl_delay_len; // Number of samples to delay sound output
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
37 } ao_plugin_cfg_t;
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
38
3335
af2a76fdba9c CVS is still broken with gcc3. This fixes it.
pl
parents: 3315
diff changeset
39 extern volatile ao_plugin_cfg_t ao_plugin_cfg;
3194
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
40
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
41 // Configuration defaults
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
42 #define CFG_DEFAULTS { \
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
43 NULL, \
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
44 AFMT_S16_LE, \
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
45 0 \
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
46 };
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
47
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
48 // This block should not be available in the pl_xxxx files
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
49 // due to compilation issues
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
50 #ifndef PLUGIN
3315
bbd0a1c1262a include pl_surround in available plugins
steve
parents: 3194
diff changeset
51 #define NPL 3+1 // Number of PLugins ( +1 list ends with NULL )
3194
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
52 // List of plugins
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
53 extern ao_plugin_functions_t audio_plugin_delay;
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
54 extern ao_plugin_functions_t audio_plugin_format;
3315
bbd0a1c1262a include pl_surround in available plugins
steve
parents: 3194
diff changeset
55 extern ao_plugin_functions_t audio_plugin_surround;
bbd0a1c1262a include pl_surround in available plugins
steve
parents: 3194
diff changeset
56
3194
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
57
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
58 #define AO_PLUGINS { \
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
59 &audio_plugin_delay, \
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
60 &audio_plugin_format, \
3315
bbd0a1c1262a include pl_surround in available plugins
steve
parents: 3194
diff changeset
61 &audio_plugin_surround, \
3194
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
62 NULL \
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
63 }
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
64 #endif /* PLUGIN */
3107
ef2287ccc42b Changes to audio out plugin, first plugin added
anders
parents: 3096
diff changeset
65
ef2287ccc42b Changes to audio out plugin, first plugin added
anders
parents: 3096
diff changeset
66
3194
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
67 // Control parameters used by the plugins
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
68 #define AOCONTROL_PLUGIN_SET_LEN 1 // All plugins must respond to this parameter
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
69
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
70 #endif
1648d11fc36c commandline configuration of audio plugins now through struct, format conversion plugin added
anders
parents: 3107
diff changeset
71