mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-08 13:29:59 -05:00
properly deref sink_input/source_output objects when removing them from a sink/source
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1541 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
58af737ebb
commit
d80fd10a67
2 changed files with 10 additions and 7 deletions
|
|
@ -671,7 +671,8 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, pa_memchunk *
|
|||
|
||||
case PA_SINK_MESSAGE_REMOVE_INPUT: {
|
||||
pa_sink_input *i = userdata;
|
||||
pa_hashmap_remove(s->thread_info.inputs, PA_UINT32_TO_PTR(i->index));
|
||||
if (pa_hashmap_remove(s->thread_info.inputs, PA_UINT32_TO_PTR(i->index)))
|
||||
pa_sink_input_unref(i);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -384,20 +384,22 @@ unsigned pa_source_used_by(pa_source *s) {
|
|||
return pa_idxset_size(s->outputs);
|
||||
}
|
||||
|
||||
int pa_source_process_msg(pa_msgobject *o, int code, void *userdata, pa_memchunk *chunk) {
|
||||
pa_source *s = PA_SOURCE(o);
|
||||
int pa_source_process_msg(pa_msgobject *object, int code, void *userdata, pa_memchunk *chunk) {
|
||||
pa_source *s = PA_SOURCE(object);
|
||||
pa_source_assert_ref(s);
|
||||
|
||||
switch ((pa_source_message_t) code) {
|
||||
case PA_SOURCE_MESSAGE_ADD_OUTPUT: {
|
||||
pa_source_output *i = userdata;
|
||||
pa_hashmap_put(s->thread_info.outputs, PA_UINT32_TO_PTR(i->index), pa_source_output_ref(i));
|
||||
pa_source_output *o = userdata;
|
||||
pa_hashmap_put(s->thread_info.outputs, PA_UINT32_TO_PTR(o->index), pa_source_output_ref(o));
|
||||
return 0;
|
||||
}
|
||||
|
||||
case PA_SOURCE_MESSAGE_REMOVE_OUTPUT: {
|
||||
pa_source_output *i = userdata;
|
||||
pa_hashmap_remove(s->thread_info.outputs, PA_UINT32_TO_PTR(i->index));
|
||||
pa_source_output *o = userdata;
|
||||
if (pa_hashmap_remove(s->thread_info.outputs, PA_UINT32_TO_PTR(o->index)))
|
||||
pa_source_output_unref(o);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue