diff options
author | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-01-07 20:27:56 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-01-07 20:27:56 +0000 |
commit | c272dd346a38bd17f2c608c0bcf74b9fe1104a50 (patch) | |
tree | 78e59a3d1e92cdfd7487c5fc27dbed059d3c2dc1 | |
parent | 7a4cbe21a43acdc9b2358bc8f4e8c8f8472037dc (diff) | |
parent | c32f3d9c44cdaf4e6d3a746fcd57d7fdbd5d9fa7 (diff) | |
download | audio-c272dd346a38bd17f2c608c0bcf74b9fe1104a50.tar.gz |
Merge "post_proc: release vol listener object based on context" into qt-qpr1-dev am: aa05577148 am: c32f3d9c44
Change-Id: I8cb8a6ff64a40e1b082a315e3aa9a4491275c670
-rw-r--r-- | post_proc/volume_listener.c | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/post_proc/volume_listener.c b/post_proc/volume_listener.c index ea26860..f356cff 100644 --- a/post_proc/volume_listener.c +++ b/post_proc/volume_listener.c @@ -764,9 +764,6 @@ static int vol_prc_lib_release(effect_handle_t handle) int status = -EINVAL; bool recompute_flag = false; int active_stream_count = 0; - uint32_t session_id; - uint32_t stream_type; - effect_uuid_t uuid; ALOGV("%s context %p", __func__, handle); @@ -774,32 +771,20 @@ static int vol_prc_lib_release(effect_handle_t handle) return status; } pthread_mutex_lock(&vol_listner_init_lock); - session_id = recv_contex->session_id; - stream_type = recv_contex->stream_type; - - if (recv_contex->desc == NULL) { - ALOGE("%s: Got NULL descriptor, session %u, stream type %u", - __func__, session_id, stream_type); - dump_list_l(); - pthread_mutex_unlock(&vol_listner_init_lock); - return status; - } - uuid = recv_contex->desc->uuid; // check if the handle/context provided is valid list_for_each_safe(node, temp_node_next, &vol_effect_list) { context = node_to_item(node, struct vol_listener_context_s, effect_list_node); - if ((memcmp(&(context->desc->uuid), &uuid, sizeof(effect_uuid_t)) == 0) - && (context->session_id == session_id) - && (context->stream_type == stream_type)) { + if (context == recv_contex) { ALOGV("--- Found something to remove ---"); - list_remove(node); PRINT_STREAM_TYPE(context->stream_type); if (valid_dev_in_context(context)) { recompute_flag = true; } + list_remove(&context->effect_list_node); free(context); status = 0; + break; } else { ++active_stream_count; } |