- cleanup tagstruct and modargs (add s32, pa_volume_t, pa_usec_t)
- remove all gcc warnings
- esd compatible startup script or personality
-- limit number of concurrent streams
+- add total sample size to stat
+- implement streamed file playbacj
** later ***
- xmlrpc/http
return -1;
}
- if (pa_scache_play_item(u->core, u->scache_item, s, percent*2) < 0) {
- fprintf(stderr, __FILE__": Failed to play sample\n");
- return -1;
- }
-
+ pa_scache_play_item(u->core, u->scache_item, s, percent*2);
return 0;
}
double pa_volume_to_dB(pa_volume_t v);
#ifdef INFINITY
-#define PA_DECIBEL_MININFTY -INFINITY
+#define PA_DECIBEL_MININFTY (-INFINITY)
#else
/** This value is used as minus infinity when using pa_volume_{to,from}_dB(). \since 0.4 */
-#define PA_DECIBEL_MININFTY -200
+#define PA_DECIBEL_MININFTY (-200)
#endif
PA_C_DECL_END
char st[256];
assert(s && spec);
+ if (pa_idxset_ncontents(s->inputs) >= PA_MAX_INPUTS_PER_SINK) {
+ fprintf(stderr, __FILE__": Failed to create sink input: too many inputs per sink.\n");
+ return NULL;
+ }
+
if (!pa_sample_spec_equal(spec, &s->sample_spec))
if (!(resampler = pa_resampler_new(spec, &s->sample_spec, s->core->memblock_stat)))
return NULL;
#include "idxset.h"
#include "source.h"
+#define PA_MAX_INPUTS_PER_SINK 6
+
struct pa_sink {
uint32_t index;
#include <config.h>
#endif
+#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#include <string.h>
int r;
assert(s && spec);
+ if (pa_idxset_ncontents(s->outputs) >= PA_MAX_OUTPUTS_PER_SOURCE) {
+ fprintf(stderr, __FILE__": Failed to create source output: too many outputs per source.\n");
+ return NULL;
+ }
+
if (!pa_sample_spec_equal(&s->sample_spec, spec))
if (!(resampler = pa_resampler_new(&s->sample_spec, spec, s->core->memblock_stat)))
return NULL;
#include "memchunk.h"
#include "sink.h"
+#define PA_MAX_OUTPUTS_PER_SOURCE 16
+
struct pa_source {
uint32_t index;