diff options
Diffstat (limited to 'polyp/source-output.c')
-rw-r--r-- | polyp/source-output.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/polyp/source-output.c b/polyp/source-output.c index b8083a79..9d124f07 100644 --- a/polyp/source-output.c +++ b/polyp/source-output.c @@ -23,6 +23,7 @@ #include <config.h> #endif +#include <stdio.h> #include <assert.h> #include <stdlib.h> #include <string.h> @@ -37,6 +38,11 @@ struct pa_source_output* pa_source_output_new(struct pa_source *s, const char *n 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; |