summaryrefslogtreecommitdiffstats
path: root/polyp/source-output.c
diff options
context:
space:
mode:
Diffstat (limited to 'polyp/source-output.c')
-rw-r--r--polyp/source-output.c6
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;