]>
code.delx.au - pulseaudio/blob - src/outputstream.c
5 #include "outputstream.h"
7 struct output_stream
* output_stream_new(struct source
*s
, struct sample_spec
*spec
, const char *name
) {
8 struct output_stream
*o
;
12 o
= malloc(sizeof(struct output_stream
));
14 o
->name
= name
? strdup(name
) : NULL
;
18 o
->memblockq
= memblockq_new(bytes_per_second(spec
)*5, sample_size(spec
));
22 r
= idxset_put(s
->core
->output_streams
, o
, &o
->index
);
23 assert(r
== 0 && o
->index
!= IDXSET_INVALID
);
24 r
= idxset_put(s
->output_streams
, o
, NULL
);
30 void output_stream_free(struct output_stream
* o
) {
33 memblockq_free(o
->memblockq
);
35 assert(o
->source
&& o
->source
->core
);
36 idxset_remove_by_data(o
->source
->core
->output_streams
, o
, NULL
);
37 idxset_remove_by_data(o
->source
->output_streams
, o
, NULL
);