OSDN Git Service

fix deadlock issues that arise when there are simultaneous
authorjpadmana <jayashree.r.padmanaban@intel.com>
Thu, 14 Nov 2013 11:50:52 +0000 (17:20 +0530)
committerEric Laurent <elaurent@google.com>
Wed, 5 Mar 2014 00:10:47 +0000 (16:10 -0800)
commit85b3013e06e8fe7802fe6259ecac80261e834332
tree477c3b2bddfc872ba4f012796f0e3a8d5448f059
parent50c3157c5a3e0617be77716beff1ae8801d8a72f
fix deadlock issues that arise when there are simultaneous
effect control interface calls to proxy and to
non sub-effect wrappers(eg., bundlewrapper) from audioflinger
Also, return NO_ERROR when CMD_OFFLOAD succeeds

Whenever there are parallel calls to proxy and non sub-effects wrappers,
some of the calls are not completed. This is due to deadlock arsing out
of Proxy waiting for the subeffect call to return and subeffect waiting
for proxy to release lock.
The call flow is changed to a cleaner and simple one - Proxy gets the
aeli(effect library info) of subeffects during the EffectGetSubEffects()
call. Therby, proxy will manage the sub effects by itself rather than
going through effects factory.

Change-Id: If4b259da5776f151c1e81a78a0239d342046d923
Signed-off-by: jpadmana <jayashree.r.padmanaban@intel.com>
Bug: 12424044
include/media/EffectsFactoryApi.h
media/libeffects/factory/EffectsFactory.c
media/libeffects/factory/EffectsFactory.h
media/libeffects/proxy/Android.mk
media/libeffects/proxy/EffectProxy.cpp
media/libeffects/proxy/EffectProxy.h