Structure and business of Android multimedia system
Please support the original, respect for the original, reproduced please indicate the source: Http://blog.csdn.net/kangweijian (from Kangweijian's CSDN blog)
The macroscopic structure of multimedia system
- Multimedia Java Class (Java class of media)
- The Java package implemented is Android.media, which implements several important classes such as MediaPlayer and mediarecoder .
- Multimedia Part Java local invocation section (JNI)
- This part is the interface of Java class and C + + native code, compiled to target is libmedia_jni.so
- Multimedia local Framework (Libmedia)
- Multimedia in the local part of the framework is defined in the Media Library, this part of the content is compiled into a library libmedia.so
- Multimedia Service section (media service)
- This part is the implementation of inheriting Libmedia, which is compiled into a library libmediaplayerservice.so
- This section is an executable program that starts a multimedia daemon. Communicating with Libmedia between processes
- Part of the realization of multimedia
- PacketVideo's opencore is used in the Android system as a multimedia part, inheriting the interface defined in the Media Library, the core of which is the playback and recording of the medium, which is implemented by Pvplayer and Pvauthor, respectively.
The overall business structure of multimedia system
From the perspective of multimedia application, the overall business structure of multimedia system mainly consists of two aspects:
1. Input/output links (input and output systems for audio and video raw data streams) are implemented by the hardware Abstraction layer (HAL)
2. Intermediate processing link (file format processing link and codec link) is mainly realized by PacketVideo Opencore.
Multi-level design module of multimedia system
- The Java application layer of the multimedia section
- There are 3 main multimedia-related Java application packages in Android: Music package, audio browsing, audio player, Soundrecorder package, recorder function, camera bag, cameras, camera, video player, media browsing, Image viewing and other aspects of support.
- The Java framework layer of the multimedia section
- The Java framework layer of the Multimedia section provides support for multimedia applications, mainly included in the Android.media package, including media playback, media recording, media meta-information, media scanning and other functions. In addition Android.hardware.Camera provides support for camera applications; The Android.Wiget.VideoView class is an integration class that can build a UI element for video playback by calling the media player and the Android.View.SurfaveView class, which Can be called more easily by the upper layer.
- Local code Layer
- The multimedia local code layer is the focus of the multimedia system. Libmedia Library provides the local framework of multimedia parts, Opencore provides the realization of multimedia core function, multimedia service part as the middle layer of multimedia system. The multimedia Ben also involves audio and video input/output links, which are designed for Surfaceflinger, Audioflinger, camera services, and several hardware abstraction layers in the audio/video input/output link.
- The driving part of multimedia
- The driver part of the multimedia involves the content of the Linux kernel, which is mainly responsible for providing the driver of the input/output link and the hardware codec driver. Often the chips from different chip vendors are quite different, but the specific chip that supports Android can also integrate the hardware codec into the system by providing the appropriate driver adaptation section for interfacing with the Opencore system.
Please support the original, respect for the original, reproduced please indicate the source: Http://blog.csdn.net/kangweijian (from Kangweijian's CSDN blog)
《Android系统原理及开发要点详解》笔记 by2015.2.23晚
Structure and business of Android multimedia system