}
int pa_play_memchunk(
- pa_sink *sink,
- const char *name,
- const pa_sample_spec *ss,
- const pa_channel_map *map,
- const pa_memchunk *chunk,
- pa_cvolume *cvolume) {
+ pa_sink *sink,
+ const char *name,
+ const pa_sample_spec *ss,
+ const pa_channel_map *map,
+ const pa_memchunk *chunk,
+ pa_cvolume *volume) {
pa_sink_input *si;
pa_memchunk *nchunk;
+ pa_sink_input_new_data data;
assert(sink);
assert(ss);
assert(chunk);
- if (cvolume && pa_cvolume_is_muted(cvolume))
+ if (volume && pa_cvolume_is_muted(volume))
return 0;
- if (!(si = pa_sink_input_new(sink, name, __FILE__, ss, map, cvolume, 0, PA_RESAMPLER_INVALID)))
+ pa_sink_input_new_data_init(&data);
+ data.sink = sink;
+ data.name = name;
+ data.driver = __FILE__;
+ pa_sink_input_new_data_set_sample_spec(&data, ss);
+ pa_sink_input_new_data_set_channel_map(&data, map);
+ pa_sink_input_new_data_set_volume(&data, volume);
+
+ if (!(si = pa_sink_input_new(sink->core, &data, 0)))
return -1;
si->peek = sink_input_peek;
pa_memblock_ref(chunk->memblock);
- pa_sink_notify(sink);
+ pa_sink_notify(si->sink);
return 0;
}