1. ALooper::start()
while runOnCallingThread is true
call ALooper::loop()
2. ALooper::loop()
call gLooperRoster.deliverMessage(event.mMessage);
gLooperRoster is defined in ALooper.cpp as a global variable of ALooperRoster.
3. ALooperRoster::deliverMessage
By calling handler->onMessageReceived(msg) to call the substruct's realization for onMessageReceived method
eg: The onMessageReceived method of MyHandler struct
4. substruct of struct AHandler
(1)AHandlerReflector.h (frameworks\base\include\media\stagefright\foundation):struct AHandlerReflector : public AHandler {
(2)AHierarchicalStateMachine.h (frameworks\base\include\media\stagefright\foundation):struct AHierarchicalStateMachine : public AHandler {
(3)ARTPConnection.h (frameworks\base\media\libstagefright\rtsp):struct ARTPConnection : public AHandler {
(4)ARTPSession.h (frameworks\base\media\libstagefright\rtsp):struct ARTPSession : public AHandler {
(5)ARTSPConnection.h (frameworks\base\media\libstagefright\rtsp):struct ARTSPConnection : public AHandler {
(6)LiveSession.h (frameworks\base\media\libstagefright\include):struct LiveSession : public AHandler {
(7)MPEG2TSWriter.cpp (frameworks\base\media\libstagefright):struct MPEG2TSWriter::SourceInfo : public AHandler {
(8)MyHandler.h (frameworks\base\media\libstagefright\rtsp):struct MyHandler : public AHandler {
(9)MyTransmitter.h (frameworks\base\media\libstagefright\rtsp):struct MyTransmitter : public AHandler {
(10)NuPlayer.h (frameworks\base\media\libmediaplayerservice\nuplayer):struct NuPlayer : public AHandler {
(11)NuPlayerDecoder.h (frameworks\base\media\libmediaplayerservice\nuplayer):struct NuPlayer::Decoder : public AHandler {
(12)NuPlayerRenderer.h (frameworks\base\media\libmediaplayerservice\nuplayer):struct NuPlayer::Renderer : public AHandler {
(13)Sf2.cpp (frameworks\base\cmds\stagefright):struct Controller : public AHandler {
(14)UDPPusher.h (frameworks\base\media\libstagefright\rtsp):struct UDPPusher : public AHandler {
分享到:
相关推荐
Use R for math: variable types, vectors, calling functions, and more Exploit data structures, including data.frames, matrices, and lists Read many different types of data Create attractive, intuitive ...
The is the MATLAB code for calling ANSYS in MATLAB.zip
SAP.Middleware.Connector.RfcCommunicationException:“destination XXXX failed when calling RFC_METADATA_GET -- see log for details” 猜测的原因: 老的DLL库在获取接口实例时,会触发“RFC_METADATA_GET”...
his document contains details about data representation, function calling conventions, register usage conventions, name mangling schemes, etc.
Best practices for evaluating variant calling methods for microbial
Makes the calling kernel thread take on the specified mm context.
WGS_calling_postprocessing WGS结构变体调用和后处理脚本
The high penetration of renewable energy systems is calling for new more stringent grid requirements. As a consequence, the grid converters should be able to exhibit advanced functions like: dynamic ...
The solver package includes binaries for the following solvers: MINOS - For large-scale sparse general nonlinear programming problems. LP-MINOS - For large-scale sparse linear programming problems. ...
Chapter 10: This is the World Calling… Chapter 11: A Portable Settings Class Chapter 12: Xamarin Forms Labs Chapter 13: Social Media into the Mix Chapter 14: Bringing It All Together
And you can set the percentage (0.0f to 1.0f) of the path being shown by calling: animatedPathView.setPercentage(float f); You can also set the resize the path you created by calling: animatedPathView
things like the last mail received and calculate how many are new for you. So, when using the JavaMail API, if you want this type of information, you have to calculate it yourself. IMAP IMAP is a...
—from the very moment you were born, you've felt it calling to you. At long last you'll be united with the programming language you've been longing for: Clojure!, As a Lisp-style functional ...
a checksum for the header to ensure that it has not been corrupted (A checksum of a sequence of bits is calculated by counting the number of "1" bits in the stream. For example, the checksum for ...
1.Download Axis2 as WAR and...7. Start your servlet container and test the standard version service by calling this url: http://localhost:8080/axis2/services/Version/getVersion?response=application/json
FIX: UILabel ProcessAndRequest was not calling ProcessText for labels using bitmap fonts FIX: Labels with encoded colors will now wrap properly FIX: It"s no longer possible to set the sprite...
If this is enabled, by calling the VsEnableImplicitPalette() function, the driver will define the settings for a given wavelength once, then saves the results within the VariSpec for faster access ...
is now available for writing (during the writing, the standard grid object TFlexGrid is released, and a user's one is set). - ADD: In the class TFlexGrid added the properties HOffset and VOffset - ...
Sams Teach Yourself C++ in 24 Hours is a hands-on guide to the C++ programming language. Readers are provided with short, practical examples that illustrate key concepts, syntax, and techniques. ...