00001 #ifndef fooformathfoo
00002 #define fooformathfoo
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include <pulse/cdecl.h>
00028 #include <pulse/gccmacro.h>
00029 #include <pulse/proplist.h>
00030 #include <pulse/sample.h>
00031 #include <pulse/channelmap.h>
00032
00033 PA_C_DECL_BEGIN
00034
00036 typedef enum pa_encoding {
00037 PA_ENCODING_ANY,
00040 PA_ENCODING_PCM,
00043 PA_ENCODING_AC3_IEC61937,
00046 PA_ENCODING_EAC3_IEC61937,
00049 PA_ENCODING_MPEG_IEC61937,
00052 PA_ENCODING_DTS_IEC61937,
00055 PA_ENCODING_MAX,
00058 PA_ENCODING_INVALID = -1,
00060 } pa_encoding_t;
00061
00063 const char *pa_encoding_to_string(pa_encoding_t e) PA_GCC_CONST;
00064
00066 pa_encoding_t pa_encoding_from_string(const char *encoding);
00067
00069 typedef struct pa_format_info {
00070 pa_encoding_t encoding;
00073 pa_proplist *plist;
00075 } pa_format_info;
00076
00078 pa_format_info* pa_format_info_new(void);
00079
00081 pa_format_info* pa_format_info_copy(const pa_format_info *src);
00082
00084 void pa_format_info_free(pa_format_info *f);
00085
00087 int pa_format_info_valid(const pa_format_info *f);
00088
00090 int pa_format_info_is_pcm(const pa_format_info *f);
00091
00099 int pa_format_info_is_compatible(pa_format_info *first, pa_format_info *second);
00100
00106 #define PA_FORMAT_INFO_SNPRINT_MAX 256
00107
00109 char *pa_format_info_snprint(char *s, size_t l, const pa_format_info *f);
00110
00113 pa_format_info* pa_format_info_from_string(const char *str);
00114
00116 void pa_format_info_set_prop_int(pa_format_info *f, const char *key, int value);
00118 void pa_format_info_set_prop_int_array(pa_format_info *f, const char *key, const int *values, int n_values);
00120 void pa_format_info_set_prop_int_range(pa_format_info *f, const char *key, int min, int max);
00122 void pa_format_info_set_prop_string(pa_format_info *f, const char *key, const char *value);
00124 void pa_format_info_set_prop_string_array(pa_format_info *f, const char *key, const char **values, int n_values);
00125
00127 void pa_format_info_set_sample_format(pa_format_info *f, pa_sample_format_t sf);
00129 void pa_format_info_set_rate(pa_format_info *f, int rate);
00131 void pa_format_info_set_channels(pa_format_info *f, int channels);
00133 void pa_format_info_set_channel_map(pa_format_info *f, const pa_channel_map *map);
00134
00135 PA_C_DECL_END
00136
00137 #endif