idxset: Allow deep copying with pa_idxset_copy()

This commit is contained in:
Tanu Kaskinen 2013-11-17 22:47:59 +02:00
parent 5c860fe06d
commit d1fd31d50f
4 changed files with 9 additions and 13 deletions

View file

@ -2574,7 +2574,7 @@ static bool element_create_settings(pa_alsa_element *e, pa_alsa_setting *templat
if (template) {
s = pa_xnewdup(pa_alsa_setting, template, 1);
s->options = pa_idxset_copy(template->options);
s->options = pa_idxset_copy(template->options, NULL);
s->name = pa_sprintf_malloc("%s+%s", template->name, o->name);
s->description =
(template->description[0] && o->description[0])

View file

@ -1534,17 +1534,10 @@ static void sink_update_requested_latency_cb(pa_sink *s) {
static pa_idxset* sink_get_formats(pa_sink *s) {
struct userdata *u = s->userdata;
pa_idxset *ret = pa_idxset_new(NULL, NULL);
pa_format_info *f;
uint32_t idx;
pa_assert(u);
PA_IDXSET_FOREACH(f, u->formats, idx) {
pa_idxset_put(ret, pa_format_info_copy(f), NULL);
}
return ret;
return pa_idxset_copy(u->formats, (pa_copy_func_t) pa_format_info_copy);
}
static bool sink_set_formats(pa_sink *s, pa_idxset *formats) {