I'm trying to untangle the getOutput call 
<http://androidxref.com/4.4.3_r1.1/xref/frameworks/av/media/libmedia/IAudioPolicyService.cpp#getOutput>
 
in IAudioPolicyService. When this method is called, data parcels are sent 
using remote 
<http://androidxref.com/4.4.3_r1.1/s?defs=remote&project=frameworks>()->
transact 
<http://androidxref.com/4.4.3_r1.1/s?defs=transact&project=frameworks>(
GET_OUTPUT 
<http://androidxref.com/4.4.3_r1.1/xref/frameworks/av/media/libmedia/IAudioPolicyService.cpp#GET_OUTPUT>,
 
data <http://androidxref.com/4.4.3_r1.1/s?defs=data&project=frameworks>, &
reply <http://androidxref.com/4.4.3_r1.1/s?defs=reply&project=frameworks>). 
The way this works (as I understand it) is as follows. The remote() call 
returns 
<http://androidxref.com/4.4.3_r1.1/xref/frameworks/native/include/binder/Binder.h#87>
 
a reference to an IBinder object. When its transact method 
<http://androidxref.com/4.4.3_r1.1/xref/frameworks/native/libs/binder/Binder.cpp#97>
 
is called, it again ends up calling BnAudioPolicyService 
<http://androidxref.com/4.4.3_r1.1/s?defs=BnAudioPolicyService&project=frameworks>
::onTransact 
<http://androidxref.com/4.4.3_r1.1/s?refs=onTransact&project=frameworks> which 
called remote()->transact in the first place. So it looks like they just 
keep calling each other.

I must be missing something. What's the right way to resolve this?

-- 
-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting

--- 
You received this message because you are subscribed to the Google Groups 
"android-porting" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-porting+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to